@oxy.so/bloom 7.0.0 → 7.1.0

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 (517) hide show
  1. package/assets/character-runtime/README.md +55 -0
  2. package/assets/character-runtime/appearance-codec.mjs +149 -0
  3. package/assets/character-runtime/integrity.json +6 -0
  4. package/assets/character-runtime/legacy-engine.mjs +105 -0
  5. package/assets/character-runtime/legacy-geometry.mjs +166 -0
  6. package/assets/character-runtime/legacy-worker.mjs +85 -0
  7. package/assets/character-runtime/orbit-characters.data +0 -0
  8. package/assets/character-runtime/orbit-characters.mjs +30 -0
  9. package/assets/character-runtime/orbit-characters.wasm +0 -0
  10. package/assets/character-runtime/preparation-worker.mjs +19 -0
  11. package/assets/character-runtime/runtime.mjs +820 -0
  12. package/assets/character-runtime/thumbnails/eyes/crescent_inset.png +0 -0
  13. package/assets/character-runtime/thumbnails/eyes/dots.png +0 -0
  14. package/assets/character-runtime/thumbnails/eyes/double_highlights.png +0 -0
  15. package/assets/character-runtime/thumbnails/eyes/highlight_capsules.png +0 -0
  16. package/assets/character-runtime/thumbnails/eyes/oval.png +0 -0
  17. package/assets/character-runtime/thumbnails/eyes/round_inset.png +0 -0
  18. package/assets/character-runtime/thumbnails/eyes/sleepy_lids.png +0 -0
  19. package/assets/character-runtime/thumbnails/eyes/sparkle_capsules.png +0 -0
  20. package/assets/character-runtime/thumbnails/eyes/swept_lids.png +0 -0
  21. package/assets/character-runtime/thumbnails/shapes/capsule.png +0 -0
  22. package/assets/character-runtime/thumbnails/shapes/circle.png +0 -0
  23. package/assets/character-runtime/thumbnails/shapes/circle_two_ears.png +0 -0
  24. package/assets/character-runtime/thumbnails/shapes/four_lobed_butterfly.png +0 -0
  25. package/assets/character-runtime/thumbnails/shapes/heart.png +0 -0
  26. package/assets/character-runtime/thumbnails/shapes/rounded_cube.png +0 -0
  27. package/assets/character-runtime/thumbnails/shapes/rounded_diamond.png +0 -0
  28. package/assets/character-runtime/thumbnails/shapes/rounded_head_two_ears.png +0 -0
  29. package/assets/character-runtime/thumbnails/shapes/rounded_triangle.png +0 -0
  30. package/assets/character-runtime/thumbnails/shapes/six_lobed_flower.png +0 -0
  31. package/assets/character-runtime/thumbnails/shapes/twelve_scalloped_rosette.png +0 -0
  32. package/docs/adoption-matrix.mdx +9 -9
  33. package/docs/agent-avatar.mdx +35 -10
  34. package/docs/agent-creator.mdx +12 -4
  35. package/docs/multi-agent-chat.mdx +12 -0
  36. package/docs/project-board.mdx +3 -3
  37. package/lib/commonjs/agent-avatar/AgentAvatar.js +15 -203
  38. package/lib/commonjs/agent-avatar/AgentAvatar.js.map +1 -1
  39. package/lib/commonjs/agent-avatar/AgentAvatarProvider.js +64 -0
  40. package/lib/commonjs/agent-avatar/AgentAvatarProvider.js.map +1 -0
  41. package/lib/commonjs/agent-avatar/CharacterAvatar.js +211 -0
  42. package/lib/commonjs/agent-avatar/CharacterAvatar.js.map +1 -0
  43. package/lib/commonjs/agent-avatar/ProceduralAvatar.js +216 -0
  44. package/lib/commonjs/agent-avatar/ProceduralAvatar.js.map +1 -0
  45. package/lib/commonjs/agent-avatar/artwork.js +4 -3
  46. package/lib/commonjs/agent-avatar/artwork.js.map +1 -1
  47. package/lib/commonjs/agent-avatar/avatar-color.js +16 -0
  48. package/lib/commonjs/agent-avatar/avatar-color.js.map +1 -0
  49. package/lib/commonjs/agent-avatar/character-html.js +25 -0
  50. package/lib/commonjs/agent-avatar/character-html.js.map +1 -0
  51. package/lib/commonjs/agent-avatar/character-runtime-module.js +39 -0
  52. package/lib/commonjs/agent-avatar/character-runtime-module.js.map +1 -0
  53. package/lib/commonjs/agent-avatar/character-webview.js +18 -0
  54. package/lib/commonjs/agent-avatar/character-webview.js.map +1 -0
  55. package/lib/commonjs/agent-avatar/config-character.js +36 -0
  56. package/lib/commonjs/agent-avatar/config-character.js.map +1 -0
  57. package/lib/commonjs/agent-avatar/context.js +3 -1
  58. package/lib/commonjs/agent-avatar/context.js.map +1 -1
  59. package/lib/commonjs/agent-avatar/index.js +7 -0
  60. package/lib/commonjs/agent-avatar/index.js.map +1 -1
  61. package/lib/commonjs/agent-avatar/legacy-contours.js +57 -0
  62. package/lib/commonjs/agent-avatar/legacy-contours.js.map +1 -0
  63. package/lib/commonjs/agent-avatar/legacy-recipe.js +112 -0
  64. package/lib/commonjs/agent-avatar/legacy-recipe.js.map +1 -0
  65. package/lib/commonjs/agent-avatar/messages.js +2 -1
  66. package/lib/commonjs/agent-avatar/messages.js.map +1 -1
  67. package/lib/commonjs/agent-avatar/model.js +2 -0
  68. package/lib/commonjs/agent-avatar/model.js.map +1 -1
  69. package/lib/commonjs/agent-creator/AgentCreatorBase.js +245 -21
  70. package/lib/commonjs/agent-creator/AgentCreatorBase.js.map +1 -1
  71. package/lib/commonjs/agent-creator/CharacterControls.js +113 -0
  72. package/lib/commonjs/agent-creator/CharacterControls.js.map +1 -0
  73. package/lib/commonjs/agent-creator/EmotionPicker.js +51 -18
  74. package/lib/commonjs/agent-creator/EmotionPicker.js.map +1 -1
  75. package/lib/commonjs/agent-creator/ShapeArc.js +56 -26
  76. package/lib/commonjs/agent-creator/ShapeArc.js.map +1 -1
  77. package/lib/commonjs/agent-creator/ShapeSilhouette.js +62 -0
  78. package/lib/commonjs/agent-creator/ShapeSilhouette.js.map +1 -0
  79. package/lib/commonjs/agent-creator/constants.js +48 -1
  80. package/lib/commonjs/agent-creator/constants.js.map +1 -1
  81. package/lib/commonjs/agent-creator/messages.js +9 -0
  82. package/lib/commonjs/agent-creator/messages.js.map +1 -1
  83. package/lib/commonjs/agent-creator/shared.js +7 -10
  84. package/lib/commonjs/agent-creator/shared.js.map +1 -1
  85. package/lib/commonjs/agent-thinking/AgentThinking.js +4 -62
  86. package/lib/commonjs/agent-thinking/AgentThinking.js.map +1 -1
  87. package/lib/commonjs/agent-thinking/ThinkingLabel.js +77 -0
  88. package/lib/commonjs/agent-thinking/ThinkingLabel.js.map +1 -0
  89. package/lib/commonjs/chart-cards/TokensChartCard.js +20 -5
  90. package/lib/commonjs/chart-cards/TokensChartCard.js.map +1 -1
  91. package/lib/commonjs/locale/translations/ar.js +11 -1
  92. package/lib/commonjs/locale/translations/ar.js.map +1 -1
  93. package/lib/commonjs/locale/translations/bn.js +11 -1
  94. package/lib/commonjs/locale/translations/bn.js.map +1 -1
  95. package/lib/commonjs/locale/translations/ca.js +11 -1
  96. package/lib/commonjs/locale/translations/ca.js.map +1 -1
  97. package/lib/commonjs/locale/translations/de.js +11 -1
  98. package/lib/commonjs/locale/translations/de.js.map +1 -1
  99. package/lib/commonjs/locale/translations/es.js +11 -1
  100. package/lib/commonjs/locale/translations/es.js.map +1 -1
  101. package/lib/commonjs/locale/translations/fr.js +11 -1
  102. package/lib/commonjs/locale/translations/fr.js.map +1 -1
  103. package/lib/commonjs/locale/translations/hi.js +11 -1
  104. package/lib/commonjs/locale/translations/hi.js.map +1 -1
  105. package/lib/commonjs/locale/translations/id.js +11 -1
  106. package/lib/commonjs/locale/translations/id.js.map +1 -1
  107. package/lib/commonjs/locale/translations/it.js +11 -1
  108. package/lib/commonjs/locale/translations/it.js.map +1 -1
  109. package/lib/commonjs/locale/translations/ja.js +11 -1
  110. package/lib/commonjs/locale/translations/ja.js.map +1 -1
  111. package/lib/commonjs/locale/translations/pt.js +11 -1
  112. package/lib/commonjs/locale/translations/pt.js.map +1 -1
  113. package/lib/commonjs/locale/translations/ru.js +11 -1
  114. package/lib/commonjs/locale/translations/ru.js.map +1 -1
  115. package/lib/commonjs/locale/translations/tr.js +11 -1
  116. package/lib/commonjs/locale/translations/tr.js.map +1 -1
  117. package/lib/commonjs/locale/translations/zh.js +11 -1
  118. package/lib/commonjs/locale/translations/zh.js.map +1 -1
  119. package/lib/commonjs/multi-agent-chat/AvatarHandoff.js +12 -10
  120. package/lib/commonjs/multi-agent-chat/AvatarHandoff.js.map +1 -1
  121. package/lib/commonjs/multi-agent-chat/ChatAgentProfile.js +97 -0
  122. package/lib/commonjs/multi-agent-chat/ChatAgentProfile.js.map +1 -0
  123. package/lib/commonjs/multi-agent-chat/EditorRail.js +4 -0
  124. package/lib/commonjs/multi-agent-chat/EditorRail.js.map +1 -1
  125. package/lib/commonjs/multi-agent-chat/MultiAgentChatBase.js +89 -126
  126. package/lib/commonjs/multi-agent-chat/MultiAgentChatBase.js.map +1 -1
  127. package/lib/commonjs/multi-agent-chat/ReplyRow.js +8 -11
  128. package/lib/commonjs/multi-agent-chat/ReplyRow.js.map +1 -1
  129. package/lib/commonjs/multi-agent-chat/handoff.js +5 -5
  130. package/lib/commonjs/multi-agent-chat/handoff.js.map +1 -1
  131. package/lib/commonjs/project-board/CreateTicketDialog.js +33 -2
  132. package/lib/commonjs/project-board/CreateTicketDialog.js.map +1 -1
  133. package/lib/commonjs/project-board/ProjectBoardBase.js +137 -38
  134. package/lib/commonjs/project-board/ProjectBoardBase.js.map +1 -1
  135. package/lib/commonjs/project-board/TicketCornerGenieSurface.web.js +34 -28
  136. package/lib/commonjs/project-board/TicketCornerGenieSurface.web.js.map +1 -1
  137. package/lib/commonjs/project-board/TicketDetailDialog.js +6 -3
  138. package/lib/commonjs/project-board/TicketDetailDialog.js.map +1 -1
  139. package/lib/commonjs/project-board/TicketGenieSurface.js +17 -7
  140. package/lib/commonjs/project-board/TicketGenieSurface.js.map +1 -1
  141. package/lib/commonjs/project-board/TicketGenieSurface.web.js +1 -1
  142. package/lib/commonjs/project-board/TicketGenieSurface.web.js.map +1 -1
  143. package/lib/commonjs/project-board/TicketPresence.js +125 -0
  144. package/lib/commonjs/project-board/TicketPresence.js.map +1 -0
  145. package/lib/commonjs/project-board/TicketTokenChart.js +23 -0
  146. package/lib/commonjs/project-board/TicketTokenChart.js.map +1 -0
  147. package/lib/commonjs/project-board/context.js +3 -1
  148. package/lib/commonjs/project-board/context.js.map +1 -1
  149. package/lib/commonjs/search/Search.js +12 -3
  150. package/lib/commonjs/search/Search.js.map +1 -1
  151. package/lib/commonjs/sidebar/SidebarToolbar.js +35 -17
  152. package/lib/commonjs/sidebar/SidebarToolbar.js.map +1 -1
  153. package/lib/commonjs/text-field/TextField.js +13 -7
  154. package/lib/commonjs/text-field/TextField.js.map +1 -1
  155. package/lib/module/agent-avatar/AgentAvatar.js +16 -204
  156. package/lib/module/agent-avatar/AgentAvatar.js.map +1 -1
  157. package/lib/module/agent-avatar/AgentAvatarProvider.js +60 -0
  158. package/lib/module/agent-avatar/AgentAvatarProvider.js.map +1 -0
  159. package/lib/module/agent-avatar/CharacterAvatar.js +207 -0
  160. package/lib/module/agent-avatar/CharacterAvatar.js.map +1 -0
  161. package/lib/module/agent-avatar/ProceduralAvatar.js +212 -0
  162. package/lib/module/agent-avatar/ProceduralAvatar.js.map +1 -0
  163. package/lib/module/agent-avatar/artwork.js +3 -3
  164. package/lib/module/agent-avatar/artwork.js.map +1 -1
  165. package/lib/module/agent-avatar/avatar-color.js +12 -0
  166. package/lib/module/agent-avatar/avatar-color.js.map +1 -0
  167. package/lib/module/agent-avatar/character-html.js +19 -0
  168. package/lib/module/agent-avatar/character-html.js.map +1 -0
  169. package/lib/module/agent-avatar/character-runtime-module.js +35 -0
  170. package/lib/module/agent-avatar/character-runtime-module.js.map +1 -0
  171. package/lib/module/agent-avatar/character-webview.js +14 -0
  172. package/lib/module/agent-avatar/character-webview.js.map +1 -0
  173. package/lib/module/agent-avatar/config-character.js +32 -0
  174. package/lib/module/agent-avatar/config-character.js.map +1 -0
  175. package/lib/module/agent-avatar/context.js +2 -0
  176. package/lib/module/agent-avatar/context.js.map +1 -1
  177. package/lib/module/agent-avatar/index.js +1 -0
  178. package/lib/module/agent-avatar/index.js.map +1 -1
  179. package/lib/module/agent-avatar/legacy-contours.js +53 -0
  180. package/lib/module/agent-avatar/legacy-contours.js.map +1 -0
  181. package/lib/module/agent-avatar/legacy-recipe.js +104 -0
  182. package/lib/module/agent-avatar/legacy-recipe.js.map +1 -0
  183. package/lib/module/agent-avatar/messages.js +2 -1
  184. package/lib/module/agent-avatar/messages.js.map +1 -1
  185. package/lib/module/agent-avatar/model.js +2 -0
  186. package/lib/module/agent-avatar/model.js.map +1 -1
  187. package/lib/module/agent-creator/AgentCreatorBase.js +242 -18
  188. package/lib/module/agent-creator/AgentCreatorBase.js.map +1 -1
  189. package/lib/module/agent-creator/CharacterControls.js +110 -0
  190. package/lib/module/agent-creator/CharacterControls.js.map +1 -0
  191. package/lib/module/agent-creator/EmotionPicker.js +52 -19
  192. package/lib/module/agent-creator/EmotionPicker.js.map +1 -1
  193. package/lib/module/agent-creator/ShapeArc.js +58 -28
  194. package/lib/module/agent-creator/ShapeArc.js.map +1 -1
  195. package/lib/module/agent-creator/ShapeSilhouette.js +57 -0
  196. package/lib/module/agent-creator/ShapeSilhouette.js.map +1 -0
  197. package/lib/module/agent-creator/constants.js +47 -0
  198. package/lib/module/agent-creator/constants.js.map +1 -1
  199. package/lib/module/agent-creator/messages.js +9 -0
  200. package/lib/module/agent-creator/messages.js.map +1 -1
  201. package/lib/module/agent-creator/shared.js +1 -9
  202. package/lib/module/agent-creator/shared.js.map +1 -1
  203. package/lib/module/agent-thinking/AgentThinking.js +5 -63
  204. package/lib/module/agent-thinking/AgentThinking.js.map +1 -1
  205. package/lib/module/agent-thinking/ThinkingLabel.js +73 -0
  206. package/lib/module/agent-thinking/ThinkingLabel.js.map +1 -0
  207. package/lib/module/chart-cards/TokensChartCard.js +20 -5
  208. package/lib/module/chart-cards/TokensChartCard.js.map +1 -1
  209. package/lib/module/locale/translations/ar.js +11 -1
  210. package/lib/module/locale/translations/ar.js.map +1 -1
  211. package/lib/module/locale/translations/bn.js +11 -1
  212. package/lib/module/locale/translations/bn.js.map +1 -1
  213. package/lib/module/locale/translations/ca.js +11 -1
  214. package/lib/module/locale/translations/ca.js.map +1 -1
  215. package/lib/module/locale/translations/de.js +11 -1
  216. package/lib/module/locale/translations/de.js.map +1 -1
  217. package/lib/module/locale/translations/es.js +11 -1
  218. package/lib/module/locale/translations/es.js.map +1 -1
  219. package/lib/module/locale/translations/fr.js +11 -1
  220. package/lib/module/locale/translations/fr.js.map +1 -1
  221. package/lib/module/locale/translations/hi.js +11 -1
  222. package/lib/module/locale/translations/hi.js.map +1 -1
  223. package/lib/module/locale/translations/id.js +11 -1
  224. package/lib/module/locale/translations/id.js.map +1 -1
  225. package/lib/module/locale/translations/it.js +11 -1
  226. package/lib/module/locale/translations/it.js.map +1 -1
  227. package/lib/module/locale/translations/ja.js +11 -1
  228. package/lib/module/locale/translations/ja.js.map +1 -1
  229. package/lib/module/locale/translations/pt.js +11 -1
  230. package/lib/module/locale/translations/pt.js.map +1 -1
  231. package/lib/module/locale/translations/ru.js +11 -1
  232. package/lib/module/locale/translations/ru.js.map +1 -1
  233. package/lib/module/locale/translations/tr.js +11 -1
  234. package/lib/module/locale/translations/tr.js.map +1 -1
  235. package/lib/module/locale/translations/zh.js +11 -1
  236. package/lib/module/locale/translations/zh.js.map +1 -1
  237. package/lib/module/multi-agent-chat/AvatarHandoff.js +13 -11
  238. package/lib/module/multi-agent-chat/AvatarHandoff.js.map +1 -1
  239. package/lib/module/multi-agent-chat/ChatAgentProfile.js +94 -0
  240. package/lib/module/multi-agent-chat/ChatAgentProfile.js.map +1 -0
  241. package/lib/module/multi-agent-chat/EditorRail.js +4 -0
  242. package/lib/module/multi-agent-chat/EditorRail.js.map +1 -1
  243. package/lib/module/multi-agent-chat/MultiAgentChatBase.js +89 -126
  244. package/lib/module/multi-agent-chat/MultiAgentChatBase.js.map +1 -1
  245. package/lib/module/multi-agent-chat/ReplyRow.js +9 -12
  246. package/lib/module/multi-agent-chat/ReplyRow.js.map +1 -1
  247. package/lib/module/multi-agent-chat/handoff.js +4 -4
  248. package/lib/module/multi-agent-chat/handoff.js.map +1 -1
  249. package/lib/module/project-board/CreateTicketDialog.js +33 -2
  250. package/lib/module/project-board/CreateTicketDialog.js.map +1 -1
  251. package/lib/module/project-board/ProjectBoardBase.js +138 -39
  252. package/lib/module/project-board/ProjectBoardBase.js.map +1 -1
  253. package/lib/module/project-board/TicketCornerGenieSurface.web.js +35 -29
  254. package/lib/module/project-board/TicketCornerGenieSurface.web.js.map +1 -1
  255. package/lib/module/project-board/TicketDetailDialog.js +7 -4
  256. package/lib/module/project-board/TicketDetailDialog.js.map +1 -1
  257. package/lib/module/project-board/TicketGenieSurface.js +17 -7
  258. package/lib/module/project-board/TicketGenieSurface.js.map +1 -1
  259. package/lib/module/project-board/TicketGenieSurface.web.js +1 -1
  260. package/lib/module/project-board/TicketGenieSurface.web.js.map +1 -1
  261. package/lib/module/project-board/TicketPresence.js +119 -0
  262. package/lib/module/project-board/TicketPresence.js.map +1 -0
  263. package/lib/module/project-board/TicketTokenChart.js +20 -0
  264. package/lib/module/project-board/TicketTokenChart.js.map +1 -0
  265. package/lib/module/project-board/context.js +2 -0
  266. package/lib/module/project-board/context.js.map +1 -1
  267. package/lib/module/search/Search.js +12 -3
  268. package/lib/module/search/Search.js.map +1 -1
  269. package/lib/module/sidebar/SidebarToolbar.js +36 -18
  270. package/lib/module/sidebar/SidebarToolbar.js.map +1 -1
  271. package/lib/module/text-field/TextField.js +13 -7
  272. package/lib/module/text-field/TextField.js.map +1 -1
  273. package/lib/typescript/commonjs/agent-avatar/AgentAvatar.d.ts +2 -2
  274. package/lib/typescript/commonjs/agent-avatar/AgentAvatar.d.ts.map +1 -1
  275. package/lib/typescript/commonjs/agent-avatar/AgentAvatarProvider.d.ts +4 -0
  276. package/lib/typescript/commonjs/agent-avatar/AgentAvatarProvider.d.ts.map +1 -0
  277. package/lib/typescript/commonjs/agent-avatar/CharacterAvatar.d.ts +4 -0
  278. package/lib/typescript/commonjs/agent-avatar/CharacterAvatar.d.ts.map +1 -0
  279. package/lib/typescript/commonjs/agent-avatar/ProceduralAvatar.d.ts +6 -0
  280. package/lib/typescript/commonjs/agent-avatar/ProceduralAvatar.d.ts.map +1 -0
  281. package/lib/typescript/commonjs/agent-avatar/artwork.d.ts +2 -1
  282. package/lib/typescript/commonjs/agent-avatar/artwork.d.ts.map +1 -1
  283. package/lib/typescript/commonjs/agent-avatar/avatar-color.d.ts +3 -0
  284. package/lib/typescript/commonjs/agent-avatar/avatar-color.d.ts.map +1 -0
  285. package/lib/typescript/commonjs/agent-avatar/character-html.d.ts +4 -0
  286. package/lib/typescript/commonjs/agent-avatar/character-html.d.ts.map +1 -0
  287. package/lib/typescript/commonjs/agent-avatar/character-runtime-module.d.ts +2 -0
  288. package/lib/typescript/commonjs/agent-avatar/character-runtime-module.d.ts.map +1 -0
  289. package/lib/typescript/commonjs/agent-avatar/character-webview.d.ts +24 -0
  290. package/lib/typescript/commonjs/agent-avatar/character-webview.d.ts.map +1 -0
  291. package/lib/typescript/commonjs/agent-avatar/config-character.d.ts +11 -0
  292. package/lib/typescript/commonjs/agent-avatar/config-character.d.ts.map +1 -0
  293. package/lib/typescript/commonjs/agent-avatar/context.d.ts +12 -0
  294. package/lib/typescript/commonjs/agent-avatar/context.d.ts.map +1 -1
  295. package/lib/typescript/commonjs/agent-avatar/index.d.ts +3 -1
  296. package/lib/typescript/commonjs/agent-avatar/index.d.ts.map +1 -1
  297. package/lib/typescript/commonjs/agent-avatar/legacy-contours.d.ts +5 -0
  298. package/lib/typescript/commonjs/agent-avatar/legacy-contours.d.ts.map +1 -0
  299. package/lib/typescript/commonjs/agent-avatar/legacy-recipe.d.ts +40 -0
  300. package/lib/typescript/commonjs/agent-avatar/legacy-recipe.d.ts.map +1 -0
  301. package/lib/typescript/commonjs/agent-avatar/messages.d.ts +1 -0
  302. package/lib/typescript/commonjs/agent-avatar/messages.d.ts.map +1 -1
  303. package/lib/typescript/commonjs/agent-avatar/model.d.ts +3 -0
  304. package/lib/typescript/commonjs/agent-avatar/model.d.ts.map +1 -1
  305. package/lib/typescript/commonjs/agent-avatar/types.d.ts +10 -1
  306. package/lib/typescript/commonjs/agent-avatar/types.d.ts.map +1 -1
  307. package/lib/typescript/commonjs/agent-creator/AgentCreatorBase.d.ts.map +1 -1
  308. package/lib/typescript/commonjs/agent-creator/CharacterControls.d.ts +8 -0
  309. package/lib/typescript/commonjs/agent-creator/CharacterControls.d.ts.map +1 -0
  310. package/lib/typescript/commonjs/agent-creator/EmotionPicker.d.ts +12 -1
  311. package/lib/typescript/commonjs/agent-creator/EmotionPicker.d.ts.map +1 -1
  312. package/lib/typescript/commonjs/agent-creator/ShapeArc.d.ts +11 -2
  313. package/lib/typescript/commonjs/agent-creator/ShapeArc.d.ts.map +1 -1
  314. package/lib/typescript/commonjs/agent-creator/ShapeSilhouette.d.ts +6 -0
  315. package/lib/typescript/commonjs/agent-creator/ShapeSilhouette.d.ts.map +1 -0
  316. package/lib/typescript/commonjs/agent-creator/constants.d.ts +44 -0
  317. package/lib/typescript/commonjs/agent-creator/constants.d.ts.map +1 -1
  318. package/lib/typescript/commonjs/agent-creator/context.d.ts +9 -0
  319. package/lib/typescript/commonjs/agent-creator/context.d.ts.map +1 -1
  320. package/lib/typescript/commonjs/agent-creator/messages.d.ts +10 -0
  321. package/lib/typescript/commonjs/agent-creator/messages.d.ts.map +1 -1
  322. package/lib/typescript/commonjs/agent-creator/shared.d.ts +1 -1
  323. package/lib/typescript/commonjs/agent-creator/shared.d.ts.map +1 -1
  324. package/lib/typescript/commonjs/agent-thinking/AgentThinking.d.ts.map +1 -1
  325. package/lib/typescript/commonjs/agent-thinking/ThinkingLabel.d.ts +7 -0
  326. package/lib/typescript/commonjs/agent-thinking/ThinkingLabel.d.ts.map +1 -0
  327. package/lib/typescript/commonjs/chart-cards/TokensChartCard.d.ts +3 -1
  328. package/lib/typescript/commonjs/chart-cards/TokensChartCard.d.ts.map +1 -1
  329. package/lib/typescript/commonjs/locale/translations/ar.d.ts.map +1 -1
  330. package/lib/typescript/commonjs/locale/translations/bn.d.ts.map +1 -1
  331. package/lib/typescript/commonjs/locale/translations/ca.d.ts.map +1 -1
  332. package/lib/typescript/commonjs/locale/translations/de.d.ts.map +1 -1
  333. package/lib/typescript/commonjs/locale/translations/es.d.ts.map +1 -1
  334. package/lib/typescript/commonjs/locale/translations/fr.d.ts.map +1 -1
  335. package/lib/typescript/commonjs/locale/translations/hi.d.ts.map +1 -1
  336. package/lib/typescript/commonjs/locale/translations/id.d.ts.map +1 -1
  337. package/lib/typescript/commonjs/locale/translations/it.d.ts.map +1 -1
  338. package/lib/typescript/commonjs/locale/translations/ja.d.ts.map +1 -1
  339. package/lib/typescript/commonjs/locale/translations/pt.d.ts.map +1 -1
  340. package/lib/typescript/commonjs/locale/translations/ru.d.ts.map +1 -1
  341. package/lib/typescript/commonjs/locale/translations/tr.d.ts.map +1 -1
  342. package/lib/typescript/commonjs/locale/translations/zh.d.ts.map +1 -1
  343. package/lib/typescript/commonjs/multi-agent-chat/AvatarHandoff.d.ts.map +1 -1
  344. package/lib/typescript/commonjs/multi-agent-chat/ChatAgentProfile.d.ts +11 -0
  345. package/lib/typescript/commonjs/multi-agent-chat/ChatAgentProfile.d.ts.map +1 -0
  346. package/lib/typescript/commonjs/multi-agent-chat/EditorRail.d.ts.map +1 -1
  347. package/lib/typescript/commonjs/multi-agent-chat/MultiAgentChatBase.d.ts.map +1 -1
  348. package/lib/typescript/commonjs/multi-agent-chat/ReplyRow.d.ts.map +1 -1
  349. package/lib/typescript/commonjs/multi-agent-chat/handoff.d.ts +2 -2
  350. package/lib/typescript/commonjs/multi-agent-chat/handoff.d.ts.map +1 -1
  351. package/lib/typescript/commonjs/project-board/CreateTicketDialog.d.ts.map +1 -1
  352. package/lib/typescript/commonjs/project-board/ProjectBoardBase.d.ts.map +1 -1
  353. package/lib/typescript/commonjs/project-board/TicketCornerGenieSurface.web.d.ts.map +1 -1
  354. package/lib/typescript/commonjs/project-board/TicketDetailDialog.d.ts.map +1 -1
  355. package/lib/typescript/commonjs/project-board/TicketGenieSurface.d.ts.map +1 -1
  356. package/lib/typescript/commonjs/project-board/TicketPresence.d.ts +17 -0
  357. package/lib/typescript/commonjs/project-board/TicketPresence.d.ts.map +1 -0
  358. package/lib/typescript/commonjs/project-board/TicketTokenChart.d.ts +5 -0
  359. package/lib/typescript/commonjs/project-board/TicketTokenChart.d.ts.map +1 -0
  360. package/lib/typescript/commonjs/project-board/context.d.ts +2 -0
  361. package/lib/typescript/commonjs/project-board/context.d.ts.map +1 -1
  362. package/lib/typescript/commonjs/search/Search.d.ts.map +1 -1
  363. package/lib/typescript/commonjs/sidebar/SidebarToolbar.d.ts.map +1 -1
  364. package/lib/typescript/commonjs/text-field/TextField.d.ts.map +1 -1
  365. package/lib/typescript/module/agent-avatar/AgentAvatar.d.ts +2 -2
  366. package/lib/typescript/module/agent-avatar/AgentAvatar.d.ts.map +1 -1
  367. package/lib/typescript/module/agent-avatar/AgentAvatarProvider.d.ts +4 -0
  368. package/lib/typescript/module/agent-avatar/AgentAvatarProvider.d.ts.map +1 -0
  369. package/lib/typescript/module/agent-avatar/CharacterAvatar.d.ts +4 -0
  370. package/lib/typescript/module/agent-avatar/CharacterAvatar.d.ts.map +1 -0
  371. package/lib/typescript/module/agent-avatar/ProceduralAvatar.d.ts +6 -0
  372. package/lib/typescript/module/agent-avatar/ProceduralAvatar.d.ts.map +1 -0
  373. package/lib/typescript/module/agent-avatar/artwork.d.ts +2 -1
  374. package/lib/typescript/module/agent-avatar/artwork.d.ts.map +1 -1
  375. package/lib/typescript/module/agent-avatar/avatar-color.d.ts +3 -0
  376. package/lib/typescript/module/agent-avatar/avatar-color.d.ts.map +1 -0
  377. package/lib/typescript/module/agent-avatar/character-html.d.ts +4 -0
  378. package/lib/typescript/module/agent-avatar/character-html.d.ts.map +1 -0
  379. package/lib/typescript/module/agent-avatar/character-runtime-module.d.ts +2 -0
  380. package/lib/typescript/module/agent-avatar/character-runtime-module.d.ts.map +1 -0
  381. package/lib/typescript/module/agent-avatar/character-webview.d.ts +24 -0
  382. package/lib/typescript/module/agent-avatar/character-webview.d.ts.map +1 -0
  383. package/lib/typescript/module/agent-avatar/config-character.d.ts +11 -0
  384. package/lib/typescript/module/agent-avatar/config-character.d.ts.map +1 -0
  385. package/lib/typescript/module/agent-avatar/context.d.ts +12 -0
  386. package/lib/typescript/module/agent-avatar/context.d.ts.map +1 -1
  387. package/lib/typescript/module/agent-avatar/index.d.ts +3 -1
  388. package/lib/typescript/module/agent-avatar/index.d.ts.map +1 -1
  389. package/lib/typescript/module/agent-avatar/legacy-contours.d.ts +5 -0
  390. package/lib/typescript/module/agent-avatar/legacy-contours.d.ts.map +1 -0
  391. package/lib/typescript/module/agent-avatar/legacy-recipe.d.ts +40 -0
  392. package/lib/typescript/module/agent-avatar/legacy-recipe.d.ts.map +1 -0
  393. package/lib/typescript/module/agent-avatar/messages.d.ts +1 -0
  394. package/lib/typescript/module/agent-avatar/messages.d.ts.map +1 -1
  395. package/lib/typescript/module/agent-avatar/model.d.ts +3 -0
  396. package/lib/typescript/module/agent-avatar/model.d.ts.map +1 -1
  397. package/lib/typescript/module/agent-avatar/types.d.ts +10 -1
  398. package/lib/typescript/module/agent-avatar/types.d.ts.map +1 -1
  399. package/lib/typescript/module/agent-creator/AgentCreatorBase.d.ts.map +1 -1
  400. package/lib/typescript/module/agent-creator/CharacterControls.d.ts +8 -0
  401. package/lib/typescript/module/agent-creator/CharacterControls.d.ts.map +1 -0
  402. package/lib/typescript/module/agent-creator/EmotionPicker.d.ts +12 -1
  403. package/lib/typescript/module/agent-creator/EmotionPicker.d.ts.map +1 -1
  404. package/lib/typescript/module/agent-creator/ShapeArc.d.ts +11 -2
  405. package/lib/typescript/module/agent-creator/ShapeArc.d.ts.map +1 -1
  406. package/lib/typescript/module/agent-creator/ShapeSilhouette.d.ts +6 -0
  407. package/lib/typescript/module/agent-creator/ShapeSilhouette.d.ts.map +1 -0
  408. package/lib/typescript/module/agent-creator/constants.d.ts +44 -0
  409. package/lib/typescript/module/agent-creator/constants.d.ts.map +1 -1
  410. package/lib/typescript/module/agent-creator/context.d.ts +9 -0
  411. package/lib/typescript/module/agent-creator/context.d.ts.map +1 -1
  412. package/lib/typescript/module/agent-creator/messages.d.ts +10 -0
  413. package/lib/typescript/module/agent-creator/messages.d.ts.map +1 -1
  414. package/lib/typescript/module/agent-creator/shared.d.ts +1 -1
  415. package/lib/typescript/module/agent-creator/shared.d.ts.map +1 -1
  416. package/lib/typescript/module/agent-thinking/AgentThinking.d.ts.map +1 -1
  417. package/lib/typescript/module/agent-thinking/ThinkingLabel.d.ts +7 -0
  418. package/lib/typescript/module/agent-thinking/ThinkingLabel.d.ts.map +1 -0
  419. package/lib/typescript/module/chart-cards/TokensChartCard.d.ts +3 -1
  420. package/lib/typescript/module/chart-cards/TokensChartCard.d.ts.map +1 -1
  421. package/lib/typescript/module/locale/translations/ar.d.ts.map +1 -1
  422. package/lib/typescript/module/locale/translations/bn.d.ts.map +1 -1
  423. package/lib/typescript/module/locale/translations/ca.d.ts.map +1 -1
  424. package/lib/typescript/module/locale/translations/de.d.ts.map +1 -1
  425. package/lib/typescript/module/locale/translations/es.d.ts.map +1 -1
  426. package/lib/typescript/module/locale/translations/fr.d.ts.map +1 -1
  427. package/lib/typescript/module/locale/translations/hi.d.ts.map +1 -1
  428. package/lib/typescript/module/locale/translations/id.d.ts.map +1 -1
  429. package/lib/typescript/module/locale/translations/it.d.ts.map +1 -1
  430. package/lib/typescript/module/locale/translations/ja.d.ts.map +1 -1
  431. package/lib/typescript/module/locale/translations/pt.d.ts.map +1 -1
  432. package/lib/typescript/module/locale/translations/ru.d.ts.map +1 -1
  433. package/lib/typescript/module/locale/translations/tr.d.ts.map +1 -1
  434. package/lib/typescript/module/locale/translations/zh.d.ts.map +1 -1
  435. package/lib/typescript/module/multi-agent-chat/AvatarHandoff.d.ts.map +1 -1
  436. package/lib/typescript/module/multi-agent-chat/ChatAgentProfile.d.ts +11 -0
  437. package/lib/typescript/module/multi-agent-chat/ChatAgentProfile.d.ts.map +1 -0
  438. package/lib/typescript/module/multi-agent-chat/EditorRail.d.ts.map +1 -1
  439. package/lib/typescript/module/multi-agent-chat/MultiAgentChatBase.d.ts.map +1 -1
  440. package/lib/typescript/module/multi-agent-chat/ReplyRow.d.ts.map +1 -1
  441. package/lib/typescript/module/multi-agent-chat/handoff.d.ts +2 -2
  442. package/lib/typescript/module/multi-agent-chat/handoff.d.ts.map +1 -1
  443. package/lib/typescript/module/project-board/CreateTicketDialog.d.ts.map +1 -1
  444. package/lib/typescript/module/project-board/ProjectBoardBase.d.ts.map +1 -1
  445. package/lib/typescript/module/project-board/TicketCornerGenieSurface.web.d.ts.map +1 -1
  446. package/lib/typescript/module/project-board/TicketDetailDialog.d.ts.map +1 -1
  447. package/lib/typescript/module/project-board/TicketGenieSurface.d.ts.map +1 -1
  448. package/lib/typescript/module/project-board/TicketPresence.d.ts +17 -0
  449. package/lib/typescript/module/project-board/TicketPresence.d.ts.map +1 -0
  450. package/lib/typescript/module/project-board/TicketTokenChart.d.ts +5 -0
  451. package/lib/typescript/module/project-board/TicketTokenChart.d.ts.map +1 -0
  452. package/lib/typescript/module/project-board/context.d.ts +2 -0
  453. package/lib/typescript/module/project-board/context.d.ts.map +1 -1
  454. package/lib/typescript/module/search/Search.d.ts.map +1 -1
  455. package/lib/typescript/module/sidebar/SidebarToolbar.d.ts.map +1 -1
  456. package/lib/typescript/module/text-field/TextField.d.ts.map +1 -1
  457. package/package.json +8 -3
  458. package/src/agent-avatar/AgentAvatar.tsx +16 -296
  459. package/src/agent-avatar/AgentAvatarProvider.tsx +72 -0
  460. package/src/agent-avatar/CharacterAvatar.tsx +255 -0
  461. package/src/agent-avatar/ProceduralAvatar.tsx +303 -0
  462. package/src/agent-avatar/artwork.ts +3 -3
  463. package/src/agent-avatar/avatar-color.ts +17 -0
  464. package/src/agent-avatar/character-html.ts +21 -0
  465. package/src/agent-avatar/character-runtime-module.ts +37 -0
  466. package/src/agent-avatar/character-webview.ts +24 -0
  467. package/src/agent-avatar/config-character.ts +40 -0
  468. package/src/agent-avatar/context.ts +13 -0
  469. package/src/agent-avatar/index.ts +4 -1
  470. package/src/agent-avatar/legacy-contours.ts +76 -0
  471. package/src/agent-avatar/legacy-recipe.ts +123 -0
  472. package/src/agent-avatar/messages.ts +1 -0
  473. package/src/agent-avatar/model.ts +5 -0
  474. package/src/agent-avatar/types.ts +12 -1
  475. package/src/agent-creator/AgentCreatorBase.tsx +329 -38
  476. package/src/agent-creator/CharacterControls.tsx +146 -0
  477. package/src/agent-creator/EmotionPicker.tsx +43 -21
  478. package/src/agent-creator/ShapeArc.tsx +83 -29
  479. package/src/agent-creator/ShapeSilhouette.tsx +65 -0
  480. package/src/agent-creator/constants.ts +30 -0
  481. package/src/agent-creator/messages.ts +19 -0
  482. package/src/agent-creator/shared.ts +1 -15
  483. package/src/agent-thinking/AgentThinking.tsx +7 -70
  484. package/src/agent-thinking/ThinkingLabel.tsx +74 -0
  485. package/src/chart-cards/TokensChartCard.tsx +10 -6
  486. package/src/locale/translations/ar.ts +10 -1
  487. package/src/locale/translations/bn.ts +10 -1
  488. package/src/locale/translations/ca.ts +10 -1
  489. package/src/locale/translations/de.ts +10 -1
  490. package/src/locale/translations/es.ts +10 -1
  491. package/src/locale/translations/fr.ts +10 -1
  492. package/src/locale/translations/hi.ts +10 -1
  493. package/src/locale/translations/id.ts +10 -1
  494. package/src/locale/translations/it.ts +10 -1
  495. package/src/locale/translations/ja.ts +10 -1
  496. package/src/locale/translations/pt.ts +10 -1
  497. package/src/locale/translations/ru.ts +10 -1
  498. package/src/locale/translations/tr.ts +10 -1
  499. package/src/locale/translations/zh.ts +10 -1
  500. package/src/multi-agent-chat/AvatarHandoff.tsx +12 -11
  501. package/src/multi-agent-chat/ChatAgentProfile.tsx +116 -0
  502. package/src/multi-agent-chat/EditorRail.tsx +2 -0
  503. package/src/multi-agent-chat/MultiAgentChatBase.tsx +123 -175
  504. package/src/multi-agent-chat/ReplyRow.tsx +10 -9
  505. package/src/multi-agent-chat/handoff.ts +4 -4
  506. package/src/project-board/CreateTicketDialog.tsx +28 -4
  507. package/src/project-board/ProjectBoardBase.tsx +115 -21
  508. package/src/project-board/TicketCornerGenieSurface.web.tsx +11 -6
  509. package/src/project-board/TicketDetailDialog.tsx +5 -4
  510. package/src/project-board/TicketGenieSurface.tsx +9 -0
  511. package/src/project-board/TicketGenieSurface.web.tsx +1 -1
  512. package/src/project-board/TicketPresence.tsx +137 -0
  513. package/src/project-board/TicketTokenChart.tsx +14 -0
  514. package/src/project-board/context.ts +2 -0
  515. package/src/search/Search.tsx +6 -5
  516. package/src/sidebar/SidebarToolbar.tsx +33 -17
  517. package/src/text-field/TextField.tsx +12 -7
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ import { useContext } from 'react';
4
+ import { CharacterRuntimeContext } from "../agent-avatar/context.js";
5
+ import { StyledView } from "../styles/styled-primitives.js";
6
+ import { Text } from "../typography/index.js";
7
+ import { CHARACTER_OPTIONS, CHARACTER_PRESETS } from "./constants.js";
8
+ import { useAgentCreatorBindings, useAgentCreatorMessages } from "./context.js";
9
+
10
+ /** Preset and accessory controls share Bloom Select; shapes, eyes and colors use the existing pickers. */
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ export function CharacterControls({
13
+ character,
14
+ capabilitiesKey,
15
+ onChange
16
+ }) {
17
+ const messages = useAgentCreatorMessages();
18
+ const {
19
+ runtimeUrl,
20
+ capabilities,
21
+ capabilitiesByKey
22
+ } = useContext(CharacterRuntimeContext);
23
+ const {
24
+ Select,
25
+ SelectTrigger,
26
+ SelectValue,
27
+ SelectIcon,
28
+ SelectContent,
29
+ SelectItem,
30
+ SelectItemText
31
+ } = useAgentCreatorBindings();
32
+ if (!runtimeUrl) return null;
33
+ const key = capabilitiesKey ?? JSON.stringify(character);
34
+ const resolved = capabilitiesByKey?.get(key) ?? (character && capabilities?.key === key ? capabilities : undefined);
35
+ const row = (label, value, items, onSelect, placeholder = label) => /*#__PURE__*/_jsxs(StyledView, {
36
+ className: "flex flex-row items-center gap-3",
37
+ children: [/*#__PURE__*/_jsx(Text, {
38
+ variant: "body-regular",
39
+ className: "w-[96px] text-body-regular text-text-primary",
40
+ children: label
41
+ }), /*#__PURE__*/_jsx(StyledView, {
42
+ className: "min-w-0 flex-1",
43
+ children: /*#__PURE__*/_jsxs(Select, {
44
+ size: "sm",
45
+ value: value,
46
+ onValueChange: onSelect,
47
+ children: [/*#__PURE__*/_jsxs(SelectTrigger, {
48
+ label: label,
49
+ children: [/*#__PURE__*/_jsx(SelectValue, {
50
+ placeholder: placeholder
51
+ }), /*#__PURE__*/_jsx(SelectIcon, {})]
52
+ }), /*#__PURE__*/_jsx(SelectContent, {
53
+ label: label,
54
+ items: items.map(item => ({
55
+ ...item,
56
+ label: item.title
57
+ })),
58
+ width: 224,
59
+ valueExtractor: item => item.id,
60
+ renderItem: item => /*#__PURE__*/_jsx(SelectItem, {
61
+ value: item.id,
62
+ label: item.title,
63
+ disabled: item.disabled,
64
+ children: /*#__PURE__*/_jsx(SelectItemText, {
65
+ children: item.title
66
+ })
67
+ })
68
+ })]
69
+ })
70
+ })]
71
+ }, label);
72
+ const presets = [{
73
+ id: 'bloom',
74
+ title: messages.proceduralAvatar
75
+ }, ...CHARACTER_PRESETS.map(item => ({
76
+ id: item.id,
77
+ title: messages.characterOption('preset', item.id, item.title)
78
+ }))];
79
+ if (character && !presets.some(item => item.id === character.preset)) presets.push({
80
+ id: character.preset,
81
+ title: messages.characterOption('preset', character.preset, character.preset)
82
+ });
83
+ const labels = {
84
+ shape: messages.shape,
85
+ color: messages.color,
86
+ eyes: messages.betaEyes,
87
+ eyewear: messages.eyewear,
88
+ accessory: messages.accessory
89
+ };
90
+ return /*#__PURE__*/_jsxs(StyledView, {
91
+ className: "mt-[15px] flex flex-col gap-2 px-3",
92
+ testID: "agent-creator-character-controls",
93
+ children: [row(messages.avatarStyle, character?.preset ?? 'bloom', presets, id => onChange(id === 'bloom' ? undefined : {
94
+ preset: id
95
+ }), messages.betaPreset), character && ['eyewear', 'accessory'].map(category => row(labels[category], resolved?.selected[category] ?? character.selections?.[category] ?? 'none', (category === 'accessory' ? [['none', messages.off], ...CHARACTER_OPTIONS[category]] : CHARACTER_OPTIONS[category]).map(([id, title]) => ({
96
+ id,
97
+ title: messages.characterOption(category, id, title),
98
+ disabled: !resolved || resolved.available[`${category}:${id}`] === false
99
+ })), id => {
100
+ onChange({
101
+ ...character,
102
+ selections: {
103
+ ...character.selections,
104
+ [category]: id
105
+ }
106
+ });
107
+ }, labels[category]))]
108
+ });
109
+ }
110
+ //# sourceMappingURL=CharacterControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useContext","CharacterRuntimeContext","StyledView","Text","CHARACTER_OPTIONS","CHARACTER_PRESETS","useAgentCreatorBindings","useAgentCreatorMessages","jsx","_jsx","jsxs","_jsxs","CharacterControls","character","capabilitiesKey","onChange","messages","runtimeUrl","capabilities","capabilitiesByKey","Select","SelectTrigger","SelectValue","SelectIcon","SelectContent","SelectItem","SelectItemText","key","JSON","stringify","resolved","get","undefined","row","label","value","items","onSelect","placeholder","className","children","variant","size","onValueChange","map","item","title","width","valueExtractor","id","renderItem","disabled","presets","proceduralAvatar","characterOption","some","preset","push","labels","shape","color","eyes","betaEyes","eyewear","accessory","testID","avatarStyle","betaPreset","category","selected","selections","off","available"],"sourceRoot":"../../../src","sources":["agent-creator/CharacterControls.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,uBAAuB,QAAQ,4BAAyB;AAKjE,SAASC,UAAU,QAAQ,gCAA6B;AACxD,SAASC,IAAI,QAAQ,wBAAe;AACpC,SAASC,iBAAiB,EAAEC,iBAAiB,QAAQ,gBAAa;AAClE,SAASC,uBAAuB,EAAEC,uBAAuB,QAAQ,cAAW;;AAE5E;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AACA,OAAO,SAASC,iBAAiBA,CAAC;EAChCC,SAAS;EACTC,eAAe;EACfC;AAKF,CAAC,EAAE;EACD,MAAMC,QAAQ,GAAGT,uBAAuB,CAAC,CAAC;EAC1C,MAAM;IAAEU,UAAU;IAAEC,YAAY;IAAEC;EAAkB,CAAC,GAAGnB,UAAU,CAChEC,uBACF,CAAC;EACD,MAAM;IACJmB,MAAM;IACNC,aAAa;IACbC,WAAW;IACXC,UAAU;IACVC,aAAa;IACbC,UAAU;IACVC;EACF,CAAC,GAAGpB,uBAAuB,CAAC,CAAC;EAC7B,IAAI,CAACW,UAAU,EAAE,OAAO,IAAI;EAC5B,MAAMU,GAAG,GAAGb,eAAe,IAAIc,IAAI,CAACC,SAAS,CAAChB,SAAS,CAAC;EACxD,MAAMiB,QAAQ,GACZX,iBAAiB,EAAEY,GAAG,CAACJ,GAAG,CAAC,KAC1Bd,SAAS,IAAIK,YAAY,EAAES,GAAG,KAAKA,GAAG,GAAGT,YAAY,GAAGc,SAAS,CAAC;EACrE,MAAMC,GAAG,GAAGA,CACVC,KAAa,EACbC,KAAa,EACbC,KAAmE,EACnEC,QAA8B,EAC9BC,WAAW,GAAGJ,KAAK,kBAEnBvB,KAAA,CAACT,UAAU;IAAaqC,SAAS,EAAC,kCAAkC;IAAAC,QAAA,gBAClE/B,IAAA,CAACN,IAAI;MACHsC,OAAO,EAAC,cAAc;MACtBF,SAAS,EAAC,8CAA8C;MAAAC,QAAA,EAEvDN;IAAK,CACF,CAAC,eACPzB,IAAA,CAACP,UAAU;MAACqC,SAAS,EAAC,gBAAgB;MAAAC,QAAA,eACpC7B,KAAA,CAACS,MAAM;QAACsB,IAAI,EAAC,IAAI;QAACP,KAAK,EAAEA,KAAM;QAACQ,aAAa,EAAEN,QAAS;QAAAG,QAAA,gBACtD7B,KAAA,CAACU,aAAa;UAACa,KAAK,EAAEA,KAAM;UAAAM,QAAA,gBAC1B/B,IAAA,CAACa,WAAW;YAACgB,WAAW,EAAEA;UAAY,CAAE,CAAC,eACzC7B,IAAA,CAACc,UAAU,IAAE,CAAC;QAAA,CACD,CAAC,eAChBd,IAAA,CAACe,aAAa;UACZU,KAAK,EAAEA,KAAM;UACbE,KAAK,EAAEA,KAAK,CAACQ,GAAG,CAAEC,IAAI,KAAM;YAAE,GAAGA,IAAI;YAAEX,KAAK,EAAEW,IAAI,CAACC;UAAM,CAAC,CAAC,CAAE;UAC7DC,KAAK,EAAE,GAAI;UACXC,cAAc,EAAGH,IAAI,IAAKA,IAAI,CAACI,EAAG;UAClCC,UAAU,EAAGL,IAAI,iBACfpC,IAAA,CAACgB,UAAU;YACTU,KAAK,EAAEU,IAAI,CAACI,EAAG;YACff,KAAK,EAAEW,IAAI,CAACC,KAAM;YAClBK,QAAQ,EAAEN,IAAI,CAACM,QAAS;YAAAX,QAAA,eAExB/B,IAAA,CAACiB,cAAc;cAAAc,QAAA,EAAEK,IAAI,CAACC;YAAK,CAAiB;UAAC,CACnC;QACZ,CACH,CAAC;MAAA,CACI;IAAC,CACC,CAAC;EAAA,GA7BEZ,KA8BL,CACb;EACD,MAAMkB,OAAO,GAAG,CACd;IAAEH,EAAE,EAAE,OAAO;IAAEH,KAAK,EAAE9B,QAAQ,CAACqC;EAAiB,CAAC,EACjD,GAAGhD,iBAAiB,CAACuC,GAAG,CAAEC,IAAI,KAAM;IAClCI,EAAE,EAAEJ,IAAI,CAACI,EAAE;IACXH,KAAK,EAAE9B,QAAQ,CAACsC,eAAe,CAAC,QAAQ,EAAET,IAAI,CAACI,EAAE,EAAEJ,IAAI,CAACC,KAAK;EAC/D,CAAC,CAAC,CAAC,CACJ;EACD,IAAIjC,SAAS,IAAI,CAACuC,OAAO,CAACG,IAAI,CAAEV,IAAI,IAAKA,IAAI,CAACI,EAAE,KAAKpC,SAAS,CAAC2C,MAAM,CAAC,EACpEJ,OAAO,CAACK,IAAI,CAAC;IACXR,EAAE,EAAEpC,SAAS,CAAC2C,MAAM;IACpBV,KAAK,EAAE9B,QAAQ,CAACsC,eAAe,CAC7B,QAAQ,EACRzC,SAAS,CAAC2C,MAAM,EAChB3C,SAAS,CAAC2C,MACZ;EACF,CAAC,CAAC;EACJ,MAAME,MAA+C,GAAG;IACtDC,KAAK,EAAE3C,QAAQ,CAAC2C,KAAK;IACrBC,KAAK,EAAE5C,QAAQ,CAAC4C,KAAK;IACrBC,IAAI,EAAE7C,QAAQ,CAAC8C,QAAQ;IACvBC,OAAO,EAAE/C,QAAQ,CAAC+C,OAAO;IACzBC,SAAS,EAAEhD,QAAQ,CAACgD;EACtB,CAAC;EACD,oBACErD,KAAA,CAACT,UAAU;IACTqC,SAAS,EAAC,oCAAoC;IAC9C0B,MAAM,EAAC,kCAAkC;IAAAzB,QAAA,GAExCP,GAAG,CACFjB,QAAQ,CAACkD,WAAW,EACpBrD,SAAS,EAAE2C,MAAM,IAAI,OAAO,EAC5BJ,OAAO,EACNH,EAAE,IAAKlC,QAAQ,CAACkC,EAAE,KAAK,OAAO,GAAGjB,SAAS,GAAG;MAAEwB,MAAM,EAAEP;IAAG,CAAC,CAAC,EAC7DjC,QAAQ,CAACmD,UACX,CAAC,EACAtD,SAAS,IACP,CAAC,SAAS,EAAE,WAAW,CAAC,CAA+B+B,GAAG,CACxDwB,QAAQ,IACPnC,GAAG,CACDyB,MAAM,CAACU,QAAQ,CAAC,EAChBtC,QAAQ,EAAEuC,QAAQ,CAACD,QAAQ,CAAC,IAC1BvD,SAAS,CAACyD,UAAU,GAAGF,QAAQ,CAAC,IAChC,MAAM,EACR,CAACA,QAAQ,KAAK,WAAW,GACrB,CACE,CAAC,MAAM,EAAEpD,QAAQ,CAACuD,GAAG,CAAC,EACtB,GAAGnE,iBAAiB,CAACgE,QAAQ,CAAC,CAC/B,GACDhE,iBAAiB,CAACgE,QAAQ,CAAC,EAC7BxB,GAAG,CAAC,CAAC,CAACK,EAAE,EAAEH,KAAK,CAAC,MAAM;MACtBG,EAAE;MACFH,KAAK,EAAE9B,QAAQ,CAACsC,eAAe,CAACc,QAAQ,EAAEnB,EAAE,EAAEH,KAAK,CAAC;MACpDK,QAAQ,EACN,CAACrB,QAAQ,IACTA,QAAQ,CAAC0C,SAAS,CAAC,GAAGJ,QAAQ,IAAInB,EAAE,EAAE,CAAC,KAAK;IAChD,CAAC,CAAC,CAAC,EACFA,EAAE,IAAK;MACNlC,QAAQ,CAAC;QACP,GAAGF,SAAS;QACZyD,UAAU,EAAE;UAAE,GAAGzD,SAAS,CAACyD,UAAU;UAAE,CAACF,QAAQ,GAAGnB;QAAG;MACxD,CAAC,CAAC;IACJ,CAAC,EACDS,MAAM,CAACU,QAAQ,CACjB,CACJ,CAAC;EAAA,CACO,CAAC;AAEjB","ignoreList":[]}
@@ -6,7 +6,7 @@ import { Gesture, GestureDetector } from 'react-native-gesture-handler';
6
6
  import Animated, { useAnimatedStyle, useDerivedValue, useFrameCallback, useReducedMotion, useSharedValue, withSpring } from 'react-native-reanimated';
7
7
  import { EYES } from "../agent-avatar/index.js";
8
8
  import { AgentFace } from "../agent-avatar/AgentFace.js";
9
- import { StyledPressable, StyledView } from "../styles/styled-primitives.js";
9
+ import { StyledImage, StyledPressable, StyledView } from "../styles/styled-primitives.js";
10
10
  import { useTheme } from "../theme/use-theme.js";
11
11
  import { useAgentCreatorMessages } from "./context.js";
12
12
  import { useTrackEvents } from "./use-track-events.js";
@@ -14,7 +14,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
14
14
  const AnimatedView = Animated.createAnimatedComponent(StyledView);
15
15
  function Emotion({
16
16
  config,
17
- eyes,
17
+ choice,
18
+ backgroundColor,
19
+ active,
20
+ count,
18
21
  index,
19
22
  rotation,
20
23
  onChange
@@ -23,7 +26,7 @@ function Emotion({
23
26
  const {
24
27
  colors
25
28
  } = useTheme();
26
- const angle = index * 360 / EYES.length;
29
+ const angle = index * 360 / count;
27
30
  const counterRotation = useAnimatedStyle(() => ({
28
31
  transform: [{
29
32
  rotate: `${-rotation.value - angle}deg`
@@ -49,22 +52,35 @@ function Emotion({
49
52
  style: counterRotation,
50
53
  children: /*#__PURE__*/_jsx(StyledPressable, {
51
54
  accessibilityRole: "button",
52
- accessibilityLabel: messages.emotions[eyes],
53
- "aria-pressed": config.eyes === eyes,
55
+ accessibilityLabel: choice.label,
56
+ "aria-pressed": active,
54
57
  accessibilityState: {
55
- selected: config.eyes === eyes
58
+ selected: active,
59
+ disabled: choice.disabled
56
60
  },
57
- onPress: () => onChange(eyes),
61
+ "aria-disabled": choice.disabled,
62
+ disabled: choice.disabled,
63
+ onPress: () => onChange(choice.id),
58
64
  pointerEvents: "auto",
59
- className: `pointer-events-auto flex size-[34px] cursor-pointer items-center justify-center overflow-hidden rounded-full border-2 outline-none transition-[border-color,box-shadow] hover:ring-2 hover:ring-border-button-hover focus-visible:ring-2 focus-visible:ring-border-focus-ring ${config.eyes === eyes ? 'border-foreground-icon-secondary' : 'border-transparent'}`,
65
+ className: `pointer-events-auto flex size-[34px] cursor-pointer items-center justify-center overflow-hidden rounded-full border-2 outline-none transition-[border-color,box-shadow] hover:ring-2 hover:ring-border-button-hover focus-visible:ring-2 focus-visible:ring-border-focus-ring ${active ? 'border-foreground-icon-secondary' : 'border-transparent'}`,
60
66
  style: {
61
- backgroundColor: `hsl(${config.hue}, ${config.saturation}%, ${config.lightness ?? 80}%)`,
62
- borderColor: config.eyes === eyes ? colors.icon : 'transparent'
67
+ backgroundColor: backgroundColor ?? `hsl(${config.hue}, ${config.saturation}%, ${config.lightness ?? 80}%)`,
68
+ borderColor: active ? colors.icon : 'transparent'
63
69
  },
64
- children: /*#__PURE__*/_jsx(AgentFace, {
70
+ children: choice.thumbnail ? /*#__PURE__*/_jsx(StyledImage, {
71
+ source: {
72
+ uri: choice.thumbnail
73
+ },
74
+ resizeMode: "contain",
75
+ accessible: false,
76
+ style: {
77
+ width: 27,
78
+ height: 27,
79
+ opacity: choice.disabled ? 0.35 : 1
80
+ }
81
+ }) : /*#__PURE__*/_jsx(AgentFace, {
65
82
  config: {
66
- ...config,
67
- eyes,
83
+ ...choice.config,
68
84
  eyeSize: 24,
69
85
  eyeGap: 36,
70
86
  lookAt: 'center',
@@ -81,9 +97,23 @@ function Emotion({
81
97
  /** Slow automatic orbit with direct manipulation and always-upright eye chips. */
82
98
  export function EmotionPicker({
83
99
  config,
84
- onChange
100
+ onChange,
101
+ choices: choicesProp,
102
+ value: valueProp,
103
+ onSelect,
104
+ backgroundColor
85
105
  }) {
86
106
  const messages = useAgentCreatorMessages();
107
+ const choices = choicesProp ?? EYES.map(eyes => ({
108
+ id: eyes,
109
+ label: messages.emotions[eyes],
110
+ config: {
111
+ ...config,
112
+ eyes
113
+ }
114
+ }));
115
+ const value = valueProp ?? config.eyes;
116
+ const emit = id => onSelect ? onSelect(id) : onChange(id);
87
117
  const ref = useRef(null);
88
118
  const visible = useSharedValue(true);
89
119
  const target = useSharedValue(0);
@@ -109,7 +139,7 @@ export function EmotionPicker({
109
139
  };
110
140
  if (Platform.OS === 'web' && typeof document !== 'undefined') document.addEventListener('visibilitychange', visibility);
111
141
  return () => {
112
- subscription?.remove();
142
+ subscription?.remove?.();
113
143
  if (Platform.OS === 'web' && typeof document !== 'undefined') document.removeEventListener('visibilitychange', visibility);
114
144
  };
115
145
  }, [visible]);
@@ -158,15 +188,18 @@ export function EmotionPicker({
158
188
  top: 0,
159
189
  bottom: 0
160
190
  }, orbit],
161
- children: EYES.map((eyes, index) => /*#__PURE__*/_jsx(Emotion, {
191
+ children: choices.map((choice, index) => /*#__PURE__*/_jsx(Emotion, {
162
192
  config: config,
163
- eyes: eyes,
193
+ choice: choice,
194
+ backgroundColor: backgroundColor,
195
+ active: value === choice.id,
196
+ count: choices.length,
164
197
  index: index,
165
198
  rotation: rotation,
166
199
  onChange: value => {
167
- if (!suppressClick.value) onChange(value);
200
+ if (!suppressClick.value) emit(value);
168
201
  }
169
- }, eyes))
202
+ }, choice.id))
170
203
  })
171
204
  })
172
205
  });
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","useState","AppState","Platform","Gesture","GestureDetector","Animated","useAnimatedStyle","useDerivedValue","useFrameCallback","useReducedMotion","useSharedValue","withSpring","EYES","AgentFace","StyledPressable","StyledView","useTheme","useAgentCreatorMessages","useTrackEvents","jsx","_jsx","AnimatedView","createAnimatedComponent","Emotion","config","eyes","index","rotation","onChange","messages","colors","angle","length","counterRotation","transform","rotate","value","className","style","position","left","top","marginLeft","marginTop","width","height","translateY","children","accessibilityRole","accessibilityLabel","emotions","accessibilityState","selected","onPress","pointerEvents","backgroundColor","hue","saturation","lightness","borderColor","icon","eyeSize","eyeGap","lookAt","motion","idle","size","EmotionPicker","ref","visible","target","reduced","stiffness","damping","dragging","previousAngle","suppressClick","hovered","setHovered","focused","setFocused","frame","Math","min","timeSincePreviousFrame","subscription","addEventListener","state","visibility","document","hidden","OS","remove","removeEventListener","x","y","abs","undefined","drag","Pan","minDistance","onBegin","onStart","event","atan2","PI","onUpdate","delta","onFinalize","orbit","gesture","role","emotion","onPointerEnter","onPointerLeave","right","bottom","map"],"sourceRoot":"../../../src","sources":["agent-creator/EmotionPicker.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","useState","AppState","Platform","Gesture","GestureDetector","Animated","useAnimatedStyle","useDerivedValue","useFrameCallback","useReducedMotion","useSharedValue","withSpring","EYES","AgentFace","StyledImage","StyledPressable","StyledView","useTheme","useAgentCreatorMessages","useTrackEvents","jsx","_jsx","AnimatedView","createAnimatedComponent","Emotion","config","choice","backgroundColor","active","count","index","rotation","onChange","messages","colors","angle","counterRotation","transform","rotate","value","className","style","position","left","top","marginLeft","marginTop","width","height","translateY","children","accessibilityRole","accessibilityLabel","label","accessibilityState","selected","disabled","onPress","id","pointerEvents","hue","saturation","lightness","borderColor","icon","thumbnail","source","uri","resizeMode","accessible","opacity","eyeSize","eyeGap","lookAt","motion","idle","size","EmotionPicker","choices","choicesProp","valueProp","onSelect","map","eyes","emotions","emit","ref","visible","target","reduced","stiffness","damping","dragging","previousAngle","suppressClick","hovered","setHovered","focused","setFocused","frame","Math","min","timeSincePreviousFrame","subscription","addEventListener","state","visibility","document","hidden","OS","remove","removeEventListener","x","y","abs","undefined","drag","Pan","minDistance","onBegin","onStart","event","atan2","PI","onUpdate","delta","onFinalize","orbit","gesture","role","emotion","onPointerEnter","onPointerLeave","right","bottom","length"],"sourceRoot":"../../../src","sources":["agent-creator/EmotionPicker.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
 
3
- import { useId, useRef, useState } from 'react';
3
+ import { useEffect, useId, useRef, useState } from 'react';
4
4
  import { Platform } from 'react-native';
5
5
  import { Gesture, GestureDetector } from 'react-native-gesture-handler';
6
6
  import Animated, { runOnJS, useAnimatedReaction, useAnimatedStyle, useReducedMotion, useSharedValue, withSpring } from 'react-native-reanimated';
7
7
  import Svg, { Defs, LinearGradient, Path, Rect, Stop } from 'react-native-svg';
8
- import { AgentAvatar, FOLD_SHAPES } from "../agent-avatar/index.js";
8
+ import { FOLD_SHAPES } from "../agent-avatar/model.js";
9
9
  import { useIsRtl } from "../hooks/use-is-rtl.js";
10
- import { StyledPressable, StyledView } from "../styles/styled-primitives.js";
10
+ import { StyledImage, StyledPressable, StyledView } from "../styles/styled-primitives.js";
11
11
  import { useTheme } from "../theme/use-theme.js";
12
12
  import { useAgentCreatorMessages } from "./context.js";
13
- import { wrapShape } from "./shared.js";
14
13
  import { useTrackEvents } from "./use-track-events.js";
14
+ import { ShapeSilhouette } from "./ShapeSilhouette.js";
15
15
 
16
16
  // RNW supports these listbox properties; native handles equivalent accessibility actions.
17
17
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -21,20 +21,22 @@ const trackClip = {
21
21
  maskImage: 'linear-gradient(to right, transparent, black 8%, black 92%, transparent)',
22
22
  clipPath: 'polygon(0 0, 15% 0, 30% 36%, 50% 50%, 70% 36%, 85% 0, 100% 0, 100% 100%, 0 100%)'
23
23
  };
24
+ const wrap = (slot, count) => (slot % count + count) % count;
24
25
  function ShapeSlot({
25
- config,
26
26
  slot,
27
27
  position,
28
28
  sign,
29
29
  id,
30
- onSelect
30
+ onSelect,
31
+ choices,
32
+ value
31
33
  }) {
32
34
  const messages = useAgentCreatorMessages();
33
35
  const {
34
36
  colors
35
37
  } = useTheme();
36
- const shape = FOLD_SHAPES[wrapShape(slot)];
37
- const active = config.foldShape === shape;
38
+ const choice = choices[wrap(slot, choices.length)];
39
+ const active = value === choice.id;
38
40
  const animated = useAnimatedStyle(() => {
39
41
  const angle = (slot - position.value) * 0.34;
40
42
  return {
@@ -61,24 +63,24 @@ function ShapeSlot({
61
63
  role: "option",
62
64
  tabIndex: -1,
63
65
  "aria-selected": active,
64
- accessibilityLabel: messages.shapeLabel(messages.shapes[shape]),
66
+ accessibilityLabel: messages.shapeLabel(choice.label),
65
67
  onPress: () => onSelect(slot),
66
68
  className: `flex size-14 cursor-grab items-center justify-center rounded-2xl outline-none transition-colors hover:bg-background-secondary-default active:cursor-grabbing${active ? ' bg-background-secondary-default ring-1 ring-border-button-default' : ''}`,
67
69
  style: {
68
70
  backgroundColor: active ? colors.backgroundSecondary : 'transparent'
69
71
  },
70
- children: /*#__PURE__*/_jsx(AgentAvatar, {
71
- config: {
72
- ...config,
73
- foldShape: shape,
74
- face: false,
75
- idle: false,
76
- motion: 0,
77
- lookAt: 'center'
72
+ children: choice.thumbnail ? /*#__PURE__*/_jsx(StyledImage, {
73
+ source: {
74
+ uri: choice.thumbnail
78
75
  },
79
- size: 56,
80
- paused: true,
81
- label: messages.silhouetteLabel(messages.shapes[shape])
76
+ resizeMode: "contain",
77
+ accessible: false,
78
+ style: {
79
+ width: 56,
80
+ height: 56
81
+ }
82
+ }) : /*#__PURE__*/_jsx(ShapeSilhouette, {
83
+ config: choice.config
82
84
  })
83
85
  })
84
86
  });
@@ -87,15 +89,33 @@ function ShapeSlot({
87
89
  /** A manually moved, evenly spaced circular track with an unbounded index. */
88
90
  export function ShapeArc({
89
91
  config,
90
- onChange
92
+ onChange,
93
+ choices: choicesProp,
94
+ value: valueProp,
95
+ onSelect
91
96
  }) {
92
97
  const messages = useAgentCreatorMessages();
93
98
  const {
94
99
  colors
95
100
  } = useTheme();
101
+ const choices = choicesProp ?? FOLD_SHAPES.map(shape => ({
102
+ id: shape,
103
+ label: messages.shapes[shape],
104
+ config: {
105
+ ...config,
106
+ family: 'fold',
107
+ character: undefined,
108
+ foldShape: shape
109
+ }
110
+ }));
111
+ const value = valueProp ?? config.foldShape;
112
+ const emit = slot => {
113
+ const choice = choices[wrap(slot, choices.length)];
114
+ if (onSelect) onSelect(choice.id);else onChange(choice.id);
115
+ };
96
116
  const id = useId();
97
117
  const ref = useRef(null);
98
- const initial = Math.max(0, FOLD_SHAPES.indexOf(config.foldShape));
118
+ const initial = Math.max(0, choices.findIndex(choice => choice.id === value));
99
119
  const target = useSharedValue(initial);
100
120
  const position = useSharedValue(initial);
101
121
  const [center, setCenter] = useState(initial);
@@ -110,13 +130,22 @@ export function ShapeArc({
110
130
  damping: 28
111
131
  });
112
132
  };
133
+ useEffect(() => {
134
+ const selected = choices.findIndex(choice => choice.id === value);
135
+ if (selected < 0) return;
136
+ const current = Math.round(target.value);
137
+ let delta = selected - wrap(current, choices.length);
138
+ if (delta > choices.length / 2) delta -= choices.length;
139
+ if (delta < -choices.length / 2) delta += choices.length;
140
+ if (delta) move(current + delta);
141
+ }, [value, choices.length]);
113
142
  useAnimatedReaction(() => Math.round(position.value), (value, previous) => {
114
143
  if (value !== previous) runOnJS(setCenter)(value);
115
144
  }, [position, setCenter]);
116
145
  const select = slot => {
117
146
  if (suppressClick.value) return;
118
147
  move(slot);
119
- onChange(FOLD_SHAPES[wrapShape(slot)]);
148
+ emit(slot);
120
149
  };
121
150
  const drag = Gesture.Pan().activeOffsetX([-5, 5]).failOffsetY([-20, 20]).runOnJS(true).onBegin(() => {
122
151
  suppressClick.value = false;
@@ -128,15 +157,15 @@ export function ShapeArc({
128
157
  useTrackEvents(ref, (x, y) => move(target.value + (Math.abs(x) > Math.abs(y) ? x * sign : y) / 110), key => {
129
158
  const step = key === 'ArrowRight' ? sign : key === 'ArrowLeft' ? -sign : key === 'ArrowDown' ? 1 : key === 'ArrowUp' ? -1 : 0;
130
159
  if (!step && key !== 'Home' && key !== 'End') return false;
131
- const next = step ? Math.round(target.value) + step : key === 'Home' ? 0 : FOLD_SHAPES.length - 1;
160
+ const next = step ? Math.round(target.value) + step : key === 'Home' ? 0 : choices.length - 1;
132
161
  move(next);
133
- onChange(FOLD_SHAPES[wrapShape(next)]);
162
+ emit(next);
134
163
  return true;
135
164
  });
136
165
  const slots = Array.from({
137
166
  length: 9
138
167
  }, (_, index) => center + index - 4);
139
- const selectedSlot = slots.find(slot => FOLD_SHAPES[wrapShape(slot)] === config.foldShape);
168
+ const selectedSlot = slots.find(slot => choices[wrap(slot, choices.length)]?.id === value);
140
169
  return /*#__PURE__*/_jsx(GestureDetector, {
141
170
  gesture: drag,
142
171
  children: /*#__PURE__*/_jsxs(ListboxView, {
@@ -158,11 +187,12 @@ export function ShapeArc({
158
187
  onAccessibilityAction: event => {
159
188
  const next = Math.round(target.value) + (event.nativeEvent.actionName === 'increment' ? 1 : -1);
160
189
  move(next);
161
- onChange(FOLD_SHAPES[wrapShape(next)]);
190
+ emit(next);
162
191
  },
163
192
  children: [slots.map(slot => /*#__PURE__*/_jsx(ShapeSlot, {
164
193
  id: id,
165
- config: config,
194
+ choices: choices,
195
+ value: value,
166
196
  slot: slot,
167
197
  position: position,
168
198
  sign: sign,
@@ -1 +1 @@
1
- {"version":3,"names":["useId","useRef","useState","Platform","Gesture","GestureDetector","Animated","runOnJS","useAnimatedReaction","useAnimatedStyle","useReducedMotion","useSharedValue","withSpring","Svg","Defs","LinearGradient","Path","Rect","Stop","AgentAvatar","FOLD_SHAPES","useIsRtl","StyledPressable","StyledView","useTheme","useAgentCreatorMessages","wrapShape","useTrackEvents","jsx","_jsx","jsxs","_jsxs","ListboxView","AnimatedView","createAnimatedComponent","trackClip","maskImage","clipPath","ShapeSlot","config","slot","position","sign","id","onSelect","messages","colors","shape","active","foldShape","animated","angle","value","transform","translateX","Math","sin","translateY","cos","pointerEvents","className","style","left","top","marginLeft","width","height","children","nativeID","role","tabIndex","accessibilityLabel","shapeLabel","shapes","onPress","backgroundColor","backgroundSecondary","face","idle","motion","lookAt","size","paused","label","silhouetteLabel","ShapeArc","onChange","ref","initial","max","indexOf","target","center","setCenter","reduced","dragStart","suppressClick","move","next","stiffness","damping","round","previous","select","drag","Pan","activeOffsetX","failOffsetY","onBegin","onUpdate","event","translationX","x","y","abs","key","step","length","slots","Array","from","_","index","selectedSlot","find","gesture","undefined","OS","accessibilityActions","name","nextShape","previousShape","onAccessibilityAction","nativeEvent","actionName","map","viewBox","preserveAspectRatio","accessible","x1","y1","x2","y2","offset","stopColor","background","stopOpacity","d","fill"],"sourceRoot":"../../../src","sources":["agent-creator/ShapeArc.tsx"],"mappings":";;AAAA,SAASA,KAAK,EAAEC,MAAM,EAAEC,QAAQ,QAAsC,OAAO;AAC7E,SAASC,QAAQ,QAAmC,cAAc;AAClE,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA8B;AACvE,OAAOC,QAAQ,IACbC,OAAO,EACPC,mBAAmB,EACnBC,gBAAgB,EAChBC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,QAEL,yBAAyB;AAChC,OAAOC,GAAG,IAAIC,IAAI,EAAEC,cAAc,EAAEC,IAAI,EAAEC,IAAI,EAAEC,IAAI,QAAQ,kBAAkB;AAC9E,SAASC,WAAW,EAAEC,WAAW,QAA2B,0BAAiB;AAC7E,SAASC,QAAQ,QAAQ,wBAAqB;AAC9C,SAASC,eAAe,EAAEC,UAAU,QAAQ,gCAA6B;AAEzE,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,SAASC,uBAAuB,QAAQ,cAAW;AACnD,SAASC,SAAS,QAAQ,aAAU;AACpC,SAASC,cAAc,QAAQ,uBAAoB;;AAEnD;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMA,MAAMC,WAAW,GAAGT,UAAwD;AAC5E,MAAMU,YAAY,GAAG3B,QAAQ,CAAC4B,uBAAuB,CAACX,UAAU,CAAC;AAIjE,MAAMY,SAAsB,GAAG;EAC7BC,SAAS,EACP,0EAA0E;EAC5EC,QAAQ,EACN;AACJ,CAAC;AACD,SAASC,SAASA,CAAC;EACjBC,MAAM;EACNC,IAAI;EACJC,QAAQ;EACRC,IAAI;EACJC,EAAE;EACFC;AAQF,CAAC,EAAE;EACD,MAAMC,QAAQ,GAAGpB,uBAAuB,CAAC,CAAC;EAC1C,MAAM;IAAEqB;EAAO,CAAC,GAAGtB,QAAQ,CAAC,CAAC;EAC7B,MAAMuB,KAAK,GAAG3B,WAAW,CAACM,SAAS,CAACc,IAAI,CAAC,CAAE;EAC3C,MAAMQ,MAAM,GAAGT,MAAM,CAACU,SAAS,KAAKF,KAAK;EACzC,MAAMG,QAAQ,GAAGzC,gBAAgB,CAAC,MAAM;IACtC,MAAM0C,KAAK,GAAG,CAACX,IAAI,GAAGC,QAAQ,CAACW,KAAK,IAAI,IAAI;IAC5C,OAAO;MACLC,SAAS,EAAE,CACT;QAAEC,UAAU,EAAEC,IAAI,CAACC,GAAG,CAACL,KAAK,CAAC,GAAG,GAAG,GAAGT;MAAK,CAAC,EAC5C;QAAEe,UAAU,EAAEF,IAAI,CAACG,GAAG,CAACP,KAAK,CAAC,GAAG,GAAG,GAAG;MAAI,CAAC;IAE/C,CAAC;EACH,CAAC,EAAE,CAACV,QAAQ,EAAED,IAAI,EAAEE,IAAI,CAAC,CAAC;EAC1B,oBACEb,IAAA,CAACI,YAAY;IACX0B,aAAa,EAAC,MAAM;IACpBC,SAAS,EAAC,gEAAgE;IAC1EC,KAAK,EAAE,CACL;MACEpB,QAAQ,EAAE,UAAU;MACpBqB,IAAI,EAAE,KAAK;MACXC,GAAG,EAAE,EAAE;MACPC,UAAU,EAAE,CAAC,EAAE;MACfC,KAAK,EAAE,EAAE;MACTC,MAAM,EAAE;IACV,CAAC,EACDhB,QAAQ,CACR;IAAAiB,QAAA,eAEFtC,IAAA,CAACP,eAAe;MACd8C,QAAQ,EAAE,GAAGzB,EAAE,IAAIH,IAAI,EAAG;MAC1B6B,IAAI,EAAC,QAAQ;MACbC,QAAQ,EAAE,CAAC,CAAE;MACb,iBAAetB,MAAO;MACtBuB,kBAAkB,EAAE1B,QAAQ,CAAC2B,UAAU,CAAC3B,QAAQ,CAAC4B,MAAM,CAAC1B,KAAK,CAAC,CAAE;MAChE2B,OAAO,EAAEA,CAAA,KAAM9B,QAAQ,CAACJ,IAAI,CAAE;MAC9BoB,SAAS,EAAE,+JAA+JZ,MAAM,GAAG,oEAAoE,GAAG,EAAE,EAAG;MAC/Pa,KAAK,EAAE;QACLc,eAAe,EAAE3B,MAAM,GAAGF,MAAM,CAAC8B,mBAAmB,GAAG;MACzD,CAAE;MAAAT,QAAA,eAEFtC,IAAA,CAACV,WAAW;QACVoB,MAAM,EAAE;UACN,GAAGA,MAAM;UACTU,SAAS,EAAEF,KAAK;UAChB8B,IAAI,EAAE,KAAK;UACXC,IAAI,EAAE,KAAK;UACXC,MAAM,EAAE,CAAC;UACTC,MAAM,EAAE;QACV,CAAE;QACFC,IAAI,EAAE,EAAG;QACTC,MAAM;QACNC,KAAK,EAAEtC,QAAQ,CAACuC,eAAe,CAACvC,QAAQ,CAAC4B,MAAM,CAAC1B,KAAK,CAAC;MAAE,CACzD;IAAC,CACa;EAAC,CACN,CAAC;AAEnB;;AAEA;AACA,OAAO,SAASsC,QAAQA,CAAC;EACvB9C,MAAM;EACN+C;AAIF,CAAC,EAAE;EACD,MAAMzC,QAAQ,GAAGpB,uBAAuB,CAAC,CAAC;EAC1C,MAAM;IAAEqB;EAAO,CAAC,GAAGtB,QAAQ,CAAC,CAAC;EAC7B,MAAMmB,EAAE,GAAG3C,KAAK,CAAC,CAAC;EAClB,MAAMuF,GAAG,GAAGtF,MAAM,CAAO,IAAI,CAAC;EAC9B,MAAMuF,OAAO,GAAGjC,IAAI,CAACkC,GAAG,CAAC,CAAC,EAAErE,WAAW,CAACsE,OAAO,CAACnD,MAAM,CAACU,SAAS,CAAC,CAAC;EAClE,MAAM0C,MAAM,GAAGhF,cAAc,CAAC6E,OAAO,CAAC;EACtC,MAAM/C,QAAQ,GAAG9B,cAAc,CAAC6E,OAAO,CAAC;EACxC,MAAM,CAACI,MAAM,EAAEC,SAAS,CAAC,GAAG3F,QAAQ,CAACsF,OAAO,CAAC;EAC7C,MAAMM,OAAO,GAAGpF,gBAAgB,CAAC,CAAC;EAClC,MAAMgC,IAAI,GAAGrB,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;EAChC,MAAM0E,SAAS,GAAGpF,cAAc,CAAC6E,OAAO,CAAC;EACzC,MAAMQ,aAAa,GAAGrF,cAAc,CAAC,KAAK,CAAC;EAC3C,MAAMsF,IAAI,GAAIC,IAAY,IAAK;IAC7BP,MAAM,CAACvC,KAAK,GAAG8C,IAAI;IACnBzD,QAAQ,CAACW,KAAK,GAAG0C,OAAO,GACpBI,IAAI,GACJtF,UAAU,CAACsF,IAAI,EAAE;MAAEC,SAAS,EAAE,GAAG;MAAEC,OAAO,EAAE;IAAG,CAAC,CAAC;EACvD,CAAC;EACD5F,mBAAmB,CACjB,MAAM+C,IAAI,CAAC8C,KAAK,CAAC5D,QAAQ,CAACW,KAAK,CAAC,EAChC,CAACA,KAAK,EAAEkD,QAAQ,KAAK;IACnB,IAAIlD,KAAK,KAAKkD,QAAQ,EAAE/F,OAAO,CAACsF,SAAS,CAAC,CAACzC,KAAK,CAAC;EACnD,CAAC,EACD,CAACX,QAAQ,EAAEoD,SAAS,CACtB,CAAC;EACD,MAAMU,MAAM,GAAI/D,IAAY,IAAK;IAC/B,IAAIwD,aAAa,CAAC5C,KAAK,EAAE;IACzB6C,IAAI,CAACzD,IAAI,CAAC;IACV8C,QAAQ,CAAClE,WAAW,CAACM,SAAS,CAACc,IAAI,CAAC,CAAE,CAAC;EACzC,CAAC;EACD,MAAMgE,IAAI,GAAGpG,OAAO,CAACqG,GAAG,CAAC,CAAC,CACvBC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACtBC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CACtBpG,OAAO,CAAC,IAAI,CAAC,CACbqG,OAAO,CAAC,MAAM;IACbZ,aAAa,CAAC5C,KAAK,GAAG,KAAK;IAC3B2C,SAAS,CAAC3C,KAAK,GAAGuC,MAAM,CAACvC,KAAK;EAChC,CAAC,CAAC,CACDyD,QAAQ,CAAEC,KAAK,IAAK;IACnBd,aAAa,CAAC5C,KAAK,GAAG,IAAI;IAC1B6C,IAAI,CAACF,SAAS,CAAC3C,KAAK,GAAI0D,KAAK,CAACC,YAAY,GAAGrE,IAAI,GAAI,EAAE,CAAC;EAC1D,CAAC,CAAC;EACJf,cAAc,CACZ4D,GAAG,EACH,CAACyB,CAAC,EAAEC,CAAC,KACHhB,IAAI,CAACN,MAAM,CAACvC,KAAK,GAAG,CAACG,IAAI,CAAC2D,GAAG,CAACF,CAAC,CAAC,GAAGzD,IAAI,CAAC2D,GAAG,CAACD,CAAC,CAAC,GAAGD,CAAC,GAAGtE,IAAI,GAAGuE,CAAC,IAAI,GAAG,CAAC,EACtEE,GAAG,IAAK;IACP,MAAMC,IAAI,GACRD,GAAG,KAAK,YAAY,GAChBzE,IAAI,GACJyE,GAAG,KAAK,WAAW,GACjB,CAACzE,IAAI,GACLyE,GAAG,KAAK,WAAW,GACjB,CAAC,GACDA,GAAG,KAAK,SAAS,GACf,CAAC,CAAC,GACF,CAAC;IACb,IAAI,CAACC,IAAI,IAAID,GAAG,KAAK,MAAM,IAAIA,GAAG,KAAK,KAAK,EAAE,OAAO,KAAK;IAC1D,MAAMjB,IAAI,GAAGkB,IAAI,GACb7D,IAAI,CAAC8C,KAAK,CAACV,MAAM,CAACvC,KAAK,CAAC,GAAGgE,IAAI,GAC/BD,GAAG,KAAK,MAAM,GACZ,CAAC,GACD/F,WAAW,CAACiG,MAAM,GAAG,CAAC;IAC5BpB,IAAI,CAACC,IAAI,CAAC;IACVZ,QAAQ,CAAClE,WAAW,CAACM,SAAS,CAACwE,IAAI,CAAC,CAAE,CAAC;IACvC,OAAO,IAAI;EACb,CACF,CAAC;EACD,MAAMoB,KAAK,GAAGC,KAAK,CAACC,IAAI,CAAC;IAAEH,MAAM,EAAE;EAAE,CAAC,EAAE,CAACI,CAAC,EAAEC,KAAK,KAAK9B,MAAM,GAAG8B,KAAK,GAAG,CAAC,CAAC;EACzE,MAAMC,YAAY,GAAGL,KAAK,CAACM,IAAI,CAC5BpF,IAAI,IAAKpB,WAAW,CAACM,SAAS,CAACc,IAAI,CAAC,CAAC,KAAKD,MAAM,CAACU,SACpD,CAAC;EACD,oBACEpB,IAAA,CAACxB,eAAe;IAACwH,OAAO,EAAErB,IAAK;IAAArC,QAAA,eAC7BpC,KAAA,CAACC,WAAW;MACVuD,GAAG,EAAEA,GAAI;MACTlB,IAAI,EAAC,SAAS;MACd,yBACEsD,YAAY,KAAKG,SAAS,GAAGA,SAAS,GAAG,GAAGnF,EAAE,IAAIgF,YAAY,EAC/D;MACDrD,QAAQ,EAAE,CAAE;MACZC,kBAAkB,EAAE1B,QAAQ,CAACE,KAAM;MACnCY,aAAa,EAAC,MAAM;MACpBC,SAAS,EAAC,uLAAuL;MACjMC,KAAK,EAAE1D,QAAQ,CAAC4H,EAAE,KAAK,KAAK,GAAG5F,SAAS,GAAG2F,SAAU;MACrDE,oBAAoB,EAAE,CACpB;QAAEC,IAAI,EAAE,WAAW;QAAE9C,KAAK,EAAEtC,QAAQ,CAACqF;MAAU,CAAC,EAChD;QAAED,IAAI,EAAE,WAAW;QAAE9C,KAAK,EAAEtC,QAAQ,CAACsF;MAAc,CAAC,CACpD;MACFC,qBAAqB,EAAGtB,KAAK,IAAK;QAChC,MAAMZ,IAAI,GACR3C,IAAI,CAAC8C,KAAK,CAACV,MAAM,CAACvC,KAAK,CAAC,IACvB0D,KAAK,CAACuB,WAAW,CAACC,UAAU,KAAK,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACzDrC,IAAI,CAACC,IAAI,CAAC;QACVZ,QAAQ,CAAClE,WAAW,CAACM,SAAS,CAACwE,IAAI,CAAC,CAAE,CAAC;MACzC,CAAE;MAAA/B,QAAA,GAEDmD,KAAK,CAACiB,GAAG,CAAE/F,IAAI,iBACdX,IAAA,CAACS,SAAS;QAERK,EAAE,EAAEA,EAAG;QACPJ,MAAM,EAAEA,MAAO;QACfC,IAAI,EAAEA,IAAK;QACXC,QAAQ,EAAEA,QAAS;QACnBC,IAAI,EAAEA,IAAK;QACXE,QAAQ,EAAE2D;MAAO,GANZ/D,IAON,CACF,CAAC,EACDrC,QAAQ,CAAC4H,EAAE,KAAK,KAAK,iBACpBhG,KAAA,CAAClB,GAAG;QACF8C,aAAa,EAAC,MAAM;QACpBM,KAAK,EAAC,MAAM;QACZC,MAAM,EAAE,GAAI;QACZsE,OAAO,EAAC,aAAa;QACrBC,mBAAmB,EAAC,MAAM;QAC1B5E,KAAK,EAAE;UAAEpB,QAAQ,EAAE,UAAU;UAAEqB,IAAI,EAAE,CAAC;UAAEC,GAAG,EAAE;QAAE,CAAE;QACjD2E,UAAU,EAAE,KAAM;QAAAvE,QAAA,gBAElBtC,IAAA,CAACf,IAAI;UAAAqD,QAAA,eACHpC,KAAA,CAAChB,cAAc;YAAC4B,EAAE,EAAE,GAAGA,EAAE,OAAQ;YAACgG,EAAE,EAAC,GAAG;YAACC,EAAE,EAAC,GAAG;YAACC,EAAE,EAAC,GAAG;YAACC,EAAE,EAAC,GAAG;YAAA3E,QAAA,gBAC3DtC,IAAA,CAACX,IAAI;cAAC6H,MAAM,EAAC,GAAG;cAACC,SAAS,EAAElG,MAAM,CAACmG;YAAW,CAAE,CAAC,eACjDpH,IAAA,CAACX,IAAI;cACH6H,MAAM,EAAC,KAAK;cACZC,SAAS,EAAElG,MAAM,CAACmG,UAAW;cAC7BC,WAAW,EAAE;YAAE,CAChB,CAAC,eACFrH,IAAA,CAACX,IAAI;cACH6H,MAAM,EAAC,KAAK;cACZC,SAAS,EAAElG,MAAM,CAACmG,UAAW;cAC7BC,WAAW,EAAE;YAAE,CAChB,CAAC,eACFrH,IAAA,CAACX,IAAI;cAAC6H,MAAM,EAAC,GAAG;cAACC,SAAS,EAAElG,MAAM,CAACmG;YAAW,CAAE,CAAC;UAAA,CACnC;QAAC,CACb,CAAC,eACPpH,IAAA,CAACb,IAAI;UACHmI,CAAC,EAAC,2CAA2C;UAC7CC,IAAI,EAAEtG,MAAM,CAACmG;QAAW,CACzB,CAAC,eACFpH,IAAA,CAACZ,IAAI;UAACgD,KAAK,EAAE,GAAI;UAACC,MAAM,EAAE,GAAI;UAACkF,IAAI,EAAE,QAAQzG,EAAE;QAAS,CAAE,CAAC;MAAA,CACxD,CACN;IAAA,CACU;EAAC,CACC,CAAC;AAEtB","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useId","useRef","useState","Platform","Gesture","GestureDetector","Animated","runOnJS","useAnimatedReaction","useAnimatedStyle","useReducedMotion","useSharedValue","withSpring","Svg","Defs","LinearGradient","Path","Rect","Stop","FOLD_SHAPES","useIsRtl","StyledImage","StyledPressable","StyledView","useTheme","useAgentCreatorMessages","useTrackEvents","ShapeSilhouette","jsx","_jsx","jsxs","_jsxs","ListboxView","AnimatedView","createAnimatedComponent","trackClip","maskImage","clipPath","wrap","slot","count","ShapeSlot","position","sign","id","onSelect","choices","value","messages","colors","choice","length","active","animated","angle","transform","translateX","Math","sin","translateY","cos","pointerEvents","className","style","left","top","marginLeft","width","height","children","nativeID","role","tabIndex","accessibilityLabel","shapeLabel","label","onPress","backgroundColor","backgroundSecondary","thumbnail","source","uri","resizeMode","accessible","config","ShapeArc","onChange","choicesProp","valueProp","map","shape","shapes","family","character","undefined","foldShape","emit","ref","initial","max","findIndex","target","center","setCenter","reduced","dragStart","suppressClick","move","next","stiffness","damping","selected","current","round","delta","previous","select","drag","Pan","activeOffsetX","failOffsetY","onBegin","onUpdate","event","translationX","x","y","abs","key","step","slots","Array","from","_","index","selectedSlot","find","gesture","OS","accessibilityActions","name","nextShape","previousShape","onAccessibilityAction","nativeEvent","actionName","viewBox","preserveAspectRatio","x1","y1","x2","y2","offset","stopColor","background","stopOpacity","d","fill"],"sourceRoot":"../../../src","sources":["agent-creator/ShapeArc.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ import { memo } from 'react';
4
+ import Svg, { Path } from 'react-native-svg';
5
+ import { legacyContours } from "../agent-avatar/legacy-contours.js";
6
+ import { radialContour } from "../agent-avatar/legacy-recipe.js";
7
+ import { CHARACTER_COLORS } from "./constants.js";
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ const silhouettes = new Map();
10
+ function silhouette(config) {
11
+ const key = JSON.stringify([config.family, config.shape, config.foldShape, config.foldDirection, config.foldDepth, config.alienShape]);
12
+ const cached = silhouettes.get(key);
13
+ if (cached) return cached;
14
+ const points = radialContour(legacyContours({
15
+ ...config,
16
+ grain: 0,
17
+ material: 'solid'
18
+ }), 128).map(([x, y]) => [x, -y]);
19
+ const xs = points.map(([x]) => x),
20
+ ys = points.map(([, y]) => y);
21
+ const left = Math.min(...xs),
22
+ top = Math.min(...ys),
23
+ width = Math.max(...xs) - left,
24
+ height = Math.max(...ys) - top;
25
+ // Original catalog PNGs use a flat pink silhouette with a small clear edge.
26
+ const padding = Math.max(width, height) * 0.025;
27
+ const result = {
28
+ path: points.map(([x, y], i) => `${i ? 'L' : 'M'}${x.toFixed(4)} ${y.toFixed(4)}`).join(' ') + 'Z',
29
+ viewBox: `${left - padding} ${top - padding} ${width + padding * 2} ${height + padding * 2}`
30
+ };
31
+ if (silhouettes.size >= 64) silhouettes.delete(silhouettes.keys().next().value);
32
+ silhouettes.set(key, result);
33
+ return result;
34
+ }
35
+
36
+ /** Shape-only selector artwork: no avatar, animation loop, or runtime request. */
37
+ export const ShapeSilhouette = /*#__PURE__*/memo(function ShapeSilhouette({
38
+ config
39
+ }) {
40
+ const {
41
+ path,
42
+ viewBox
43
+ } = silhouette(config);
44
+ return /*#__PURE__*/_jsx(Svg, {
45
+ width: 56,
46
+ height: 56,
47
+ viewBox: viewBox,
48
+ preserveAspectRatio: "xMidYMid meet",
49
+ accessible: false,
50
+ pointerEvents: "none",
51
+ children: /*#__PURE__*/_jsx(Path, {
52
+ d: path,
53
+ fill: CHARACTER_COLORS.pink
54
+ })
55
+ });
56
+ });
57
+ //# sourceMappingURL=ShapeSilhouette.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","Svg","Path","legacyContours","radialContour","CHARACTER_COLORS","jsx","_jsx","silhouettes","Map","silhouette","config","key","JSON","stringify","family","shape","foldShape","foldDirection","foldDepth","alienShape","cached","get","points","grain","material","map","x","y","xs","ys","left","Math","min","top","width","max","height","padding","result","path","i","toFixed","join","viewBox","size","delete","keys","next","value","set","ShapeSilhouette","preserveAspectRatio","accessible","pointerEvents","children","d","fill","pink"],"sourceRoot":"../../../src","sources":["agent-creator/ShapeSilhouette.tsx"],"mappings":"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","ignoreList":[]}