@cratis/components 4.19.1 → 4.20.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 (738) hide show
  1. package/README.md +2 -2
  2. package/compat-manifest.json +11 -11
  3. package/dist/esm/Canvas/Canvas.d.ts +1 -0
  4. package/dist/esm/Canvas/Canvas.d.ts.map +1 -0
  5. package/dist/esm/Canvas/Canvas.js.map +1 -1
  6. package/dist/esm/Canvas/CanvasControls.d.ts +1 -0
  7. package/dist/esm/Canvas/CanvasControls.d.ts.map +1 -0
  8. package/dist/esm/Canvas/CanvasControls.js.map +1 -1
  9. package/dist/esm/Canvas/CanvasItem.js.map +1 -1
  10. package/dist/esm/Canvas/CanvasMinimap.js.map +1 -1
  11. package/dist/esm/Canvas/CanvasOverlay.js.map +1 -1
  12. package/dist/esm/Canvas/canvasGesture.js.map +1 -1
  13. package/dist/esm/Canvas/canvasTransformActivity.js.map +1 -1
  14. package/dist/esm/Canvas/index.d.ts +1 -0
  15. package/dist/esm/Canvas/index.d.ts.map +1 -0
  16. package/dist/esm/Canvas/isBackgroundPointerTarget.js.map +1 -1
  17. package/dist/esm/Canvas/isWithinScrollableContent.js.map +1 -1
  18. package/dist/esm/Canvas/panMomentum.js.map +1 -1
  19. package/dist/esm/Canvas/pinchGesture.js.map +1 -1
  20. package/dist/esm/Canvas/selfSuspendingFrameLoop.js.map +1 -1
  21. package/dist/esm/Canvas/shapes/ChatBubble/index.d.ts +1 -0
  22. package/dist/esm/Canvas/shapes/ChatBubble/index.d.ts.map +1 -0
  23. package/dist/esm/Canvas/shapes/ChatBubble/index.js +1 -0
  24. package/dist/esm/Canvas/shapes/ChatBubble/index.js.map +1 -0
  25. package/dist/esm/Canvas/shapes/Note/Note.js.map +1 -1
  26. package/dist/esm/Canvas/shapes/Note/NoteTextChanged.js.map +1 -1
  27. package/dist/esm/Canvas/shapes/Note/index.d.ts +1 -0
  28. package/dist/esm/Canvas/shapes/Note/index.d.ts.map +1 -0
  29. package/dist/esm/Canvas/shapes/Note/index.js +1 -0
  30. package/dist/esm/Canvas/shapes/Note/index.js.map +1 -0
  31. package/dist/esm/Canvas/shapes/Note/noteFont.js.map +1 -1
  32. package/dist/esm/Canvas/shapes/Region/ItemAddedToRegion.js.map +1 -1
  33. package/dist/esm/Canvas/shapes/Region/ItemRemovedFromRegion.js.map +1 -1
  34. package/dist/esm/Canvas/shapes/Region/Region.js.map +1 -1
  35. package/dist/esm/Canvas/shapes/Region/index.d.ts +1 -0
  36. package/dist/esm/Canvas/shapes/Region/index.d.ts.map +1 -0
  37. package/dist/esm/Canvas/shapes/Region/index.js +1 -0
  38. package/dist/esm/Canvas/shapes/Region/index.js.map +1 -0
  39. package/dist/esm/Canvas/shapes/Region/regionContainment.js.map +1 -1
  40. package/dist/esm/Canvas/useDragSelectionGuard.js.map +1 -1
  41. package/dist/esm/Canvas/zoomMechanism.js.map +1 -1
  42. package/dist/esm/Chat/ChatAuthor.d.ts +1 -0
  43. package/dist/esm/Chat/ChatAuthor.d.ts.map +1 -0
  44. package/dist/esm/Chat/ChatAuthor.js.map +1 -1
  45. package/dist/esm/Chat/ChatConversation.d.ts +1 -0
  46. package/dist/esm/Chat/ChatConversation.d.ts.map +1 -0
  47. package/dist/esm/Chat/ChatConversation.js.map +1 -1
  48. package/dist/esm/Chat/ChatIdentifier.js.map +1 -1
  49. package/dist/esm/Chat/ChatMention.d.ts +1 -0
  50. package/dist/esm/Chat/ChatMention.d.ts.map +1 -0
  51. package/dist/esm/Chat/ChatMention.js.map +1 -1
  52. package/dist/esm/Chat/ChatMessage.d.ts +1 -0
  53. package/dist/esm/Chat/ChatMessage.d.ts.map +1 -0
  54. package/dist/esm/Chat/ChatMessage.js.map +1 -1
  55. package/dist/esm/Chat/ChatMessageAction.d.ts +1 -0
  56. package/dist/esm/Chat/ChatMessageAction.d.ts.map +1 -0
  57. package/dist/esm/Chat/ChatMessageAction.js.map +1 -1
  58. package/dist/esm/Chat/ChatMessageBody.d.ts +1 -0
  59. package/dist/esm/Chat/ChatMessageBody.d.ts.map +1 -0
  60. package/dist/esm/Chat/ChatMessageBody.js.map +1 -1
  61. package/dist/esm/Chat/ChatSidebar.d.ts +5 -1
  62. package/dist/esm/Chat/ChatSidebar.d.ts.map +1 -0
  63. package/dist/esm/Chat/ChatSidebar.js +2 -2
  64. package/dist/esm/Chat/ChatSidebar.js.map +1 -1
  65. package/dist/esm/Chat/ChatSidebarForObservableQueries.d.ts +1 -0
  66. package/dist/esm/Chat/ChatSidebarForObservableQueries.d.ts.map +1 -0
  67. package/dist/esm/Chat/ChatSidebarForObservableQueries.js.map +1 -1
  68. package/dist/esm/Chat/ChatStatus.js.map +1 -1
  69. package/dist/esm/Chat/ChatTopic.d.ts +1 -0
  70. package/dist/esm/Chat/ChatTopic.d.ts.map +1 -0
  71. package/dist/esm/Chat/ChatTopic.js.map +1 -1
  72. package/dist/esm/Chat/ChatTopicAction.d.ts +23 -0
  73. package/dist/esm/Chat/ChatTopicAction.d.ts.map +1 -0
  74. package/dist/esm/Chat/ChatTopicAction.js +4 -0
  75. package/dist/esm/Chat/ChatTopicAction.js.map +1 -0
  76. package/dist/esm/Chat/ChatTopicActions.d.ts +25 -0
  77. package/dist/esm/Chat/ChatTopicActions.d.ts.map +1 -0
  78. package/dist/esm/Chat/ChatTopicActions.js +6 -0
  79. package/dist/esm/Chat/ChatTopicActions.js.map +1 -0
  80. package/dist/esm/Chat/ChatTopicList.d.ts +6 -2
  81. package/dist/esm/Chat/ChatTopicList.d.ts.map +1 -0
  82. package/dist/esm/Chat/ChatTopicList.js +17 -9
  83. package/dist/esm/Chat/ChatTopicList.js.map +1 -1
  84. package/dist/esm/Chat/Kit/AnchoredOverlay.js.map +1 -1
  85. package/dist/esm/Chat/Kit/Avatar/PersonAvatarCircle.js.map +1 -1
  86. package/dist/esm/Chat/Kit/Avatar/getAvatarColor.js.map +1 -1
  87. package/dist/esm/Chat/Kit/Avatar/getInitials.js.map +1 -1
  88. package/dist/esm/Chat/Kit/Avatar/index.d.ts +1 -0
  89. package/dist/esm/Chat/Kit/Avatar/index.d.ts.map +1 -0
  90. package/dist/esm/Chat/Kit/Avatar/index.js +1 -0
  91. package/dist/esm/Chat/Kit/Avatar/index.js.map +1 -0
  92. package/dist/esm/Chat/Kit/Chat.d.ts +1 -0
  93. package/dist/esm/Chat/Kit/Chat.d.ts.map +1 -0
  94. package/dist/esm/Chat/Kit/Chat.js.map +1 -1
  95. package/dist/esm/Chat/Kit/ChatAuthorKind.js.map +1 -1
  96. package/dist/esm/Chat/Kit/ChatBubble.d.ts +1 -0
  97. package/dist/esm/Chat/Kit/ChatBubble.d.ts.map +1 -0
  98. package/dist/esm/Chat/Kit/ChatBubble.js.map +1 -1
  99. package/dist/esm/Chat/Kit/ChatComposer.d.ts +1 -0
  100. package/dist/esm/Chat/Kit/ChatComposer.d.ts.map +1 -0
  101. package/dist/esm/Chat/Kit/ChatComposer.js.map +1 -1
  102. package/dist/esm/Chat/Kit/ChatMessage.d.ts +1 -0
  103. package/dist/esm/Chat/Kit/ChatMessage.d.ts.map +1 -0
  104. package/dist/esm/Chat/Kit/ChatMessage.js.map +1 -1
  105. package/dist/esm/Chat/Kit/ChatMessageAdded.js.map +1 -1
  106. package/dist/esm/Chat/Kit/ChatMessageBubble.d.ts +1 -0
  107. package/dist/esm/Chat/Kit/ChatMessageBubble.d.ts.map +1 -0
  108. package/dist/esm/Chat/Kit/ChatMessageBubble.js.map +1 -1
  109. package/dist/esm/Chat/Kit/ChatMessageReaction.d.ts +1 -0
  110. package/dist/esm/Chat/Kit/ChatMessageReaction.d.ts.map +1 -0
  111. package/dist/esm/Chat/Kit/ChatMessageReaction.js.map +1 -1
  112. package/dist/esm/Chat/Kit/ChatMessageReactionUser.js.map +1 -1
  113. package/dist/esm/Chat/Kit/ChatOwnReaction.js.map +1 -1
  114. package/dist/esm/Chat/Kit/ChatTypingAuthor.d.ts +1 -0
  115. package/dist/esm/Chat/Kit/ChatTypingAuthor.d.ts.map +1 -0
  116. package/dist/esm/Chat/Kit/ChatTypingAuthor.js.map +1 -1
  117. package/dist/esm/Chat/Kit/ChatVariant.js.map +1 -1
  118. package/dist/esm/Chat/Kit/Emoji/EmojiCategory.d.ts +1 -0
  119. package/dist/esm/Chat/Kit/Emoji/EmojiCategory.d.ts.map +1 -0
  120. package/dist/esm/Chat/Kit/Emoji/EmojiCategory.js.map +1 -1
  121. package/dist/esm/Chat/Kit/Emoji/EmojiCategoryKey.js.map +1 -1
  122. package/dist/esm/Chat/Kit/Emoji/EmojiMemory.js.map +1 -1
  123. package/dist/esm/Chat/Kit/Emoji/EmojiPicker.d.ts +1 -0
  124. package/dist/esm/Chat/Kit/Emoji/EmojiPicker.d.ts.map +1 -0
  125. package/dist/esm/Chat/Kit/Emoji/EmojiPicker.js.map +1 -1
  126. package/dist/esm/Chat/Kit/Emoji/emojiCatalog.d.ts +1 -0
  127. package/dist/esm/Chat/Kit/Emoji/emojiCatalog.d.ts.map +1 -0
  128. package/dist/esm/Chat/Kit/Emoji/emojiCatalog.js.map +1 -1
  129. package/dist/esm/Chat/Kit/Emoji/index.d.ts +1 -0
  130. package/dist/esm/Chat/Kit/Emoji/index.d.ts.map +1 -0
  131. package/dist/esm/Chat/Kit/Emoji/index.js +1 -0
  132. package/dist/esm/Chat/Kit/Emoji/index.js.map +1 -0
  133. package/dist/esm/Chat/Kit/Emoji/recentEmojis.d.ts +1 -0
  134. package/dist/esm/Chat/Kit/Emoji/recentEmojis.d.ts.map +1 -0
  135. package/dist/esm/Chat/Kit/Emoji/recentEmojis.js.map +1 -1
  136. package/dist/esm/Chat/Kit/FailedReply.d.ts +1 -0
  137. package/dist/esm/Chat/Kit/FailedReply.d.ts.map +1 -0
  138. package/dist/esm/Chat/Kit/FailedReply.js.map +1 -1
  139. package/dist/esm/Chat/Kit/Mentions/MentionCandidate.d.ts +1 -0
  140. package/dist/esm/Chat/Kit/Mentions/MentionCandidate.d.ts.map +1 -0
  141. package/dist/esm/Chat/Kit/Mentions/MentionCandidate.js.map +1 -1
  142. package/dist/esm/Chat/Kit/Mentions/MentionQuery.js.map +1 -1
  143. package/dist/esm/Chat/Kit/Mentions/MentionSuggestions.d.ts +1 -0
  144. package/dist/esm/Chat/Kit/Mentions/MentionSuggestions.d.ts.map +1 -0
  145. package/dist/esm/Chat/Kit/Mentions/MentionSuggestions.js.map +1 -1
  146. package/dist/esm/Chat/Kit/Mentions/activeMentionQuery.d.ts +1 -0
  147. package/dist/esm/Chat/Kit/Mentions/activeMentionQuery.d.ts.map +1 -0
  148. package/dist/esm/Chat/Kit/Mentions/activeMentionQuery.js.map +1 -1
  149. package/dist/esm/Chat/Kit/Mentions/applyMention.d.ts +1 -0
  150. package/dist/esm/Chat/Kit/Mentions/applyMention.d.ts.map +1 -0
  151. package/dist/esm/Chat/Kit/Mentions/applyMention.js.map +1 -1
  152. package/dist/esm/Chat/Kit/Mentions/extractMentions.js.map +1 -1
  153. package/dist/esm/Chat/Kit/Mentions/findMentionRanges.js.map +1 -1
  154. package/dist/esm/Chat/Kit/Mentions/index.d.ts +1 -0
  155. package/dist/esm/Chat/Kit/Mentions/index.d.ts.map +1 -0
  156. package/dist/esm/Chat/Kit/Mentions/index.js +1 -0
  157. package/dist/esm/Chat/Kit/Mentions/index.js.map +1 -0
  158. package/dist/esm/Chat/Kit/Mentions/matchCandidates.d.ts +1 -0
  159. package/dist/esm/Chat/Kit/Mentions/matchCandidates.d.ts.map +1 -0
  160. package/dist/esm/Chat/Kit/Mentions/matchCandidates.js.map +1 -1
  161. package/dist/esm/Chat/Kit/Mentions/mentionSegments.js.map +1 -1
  162. package/dist/esm/Chat/Kit/MessageReactions.d.ts +1 -0
  163. package/dist/esm/Chat/Kit/MessageReactions.d.ts.map +1 -0
  164. package/dist/esm/Chat/Kit/MessageReactions.js.map +1 -1
  165. package/dist/esm/Chat/Kit/ReactionPicker.d.ts +1 -0
  166. package/dist/esm/Chat/Kit/ReactionPicker.d.ts.map +1 -0
  167. package/dist/esm/Chat/Kit/ReactionPicker.js.map +1 -1
  168. package/dist/esm/Chat/Kit/TypingIndicator.d.ts +1 -0
  169. package/dist/esm/Chat/Kit/TypingIndicator.d.ts.map +1 -0
  170. package/dist/esm/Chat/Kit/TypingIndicator.js.map +1 -1
  171. package/dist/esm/Chat/Kit/findOwnReaction.d.ts +1 -0
  172. package/dist/esm/Chat/Kit/findOwnReaction.d.ts.map +1 -0
  173. package/dist/esm/Chat/Kit/findOwnReaction.js.map +1 -1
  174. package/dist/esm/Chat/Kit/index.d.ts +1 -0
  175. package/dist/esm/Chat/Kit/index.d.ts.map +1 -0
  176. package/dist/esm/Chat/Kit/index.js +1 -0
  177. package/dist/esm/Chat/Kit/index.js.map +1 -0
  178. package/dist/esm/Chat/Kit/reactionsExcludingUser.d.ts +1 -0
  179. package/dist/esm/Chat/Kit/reactionsExcludingUser.d.ts.map +1 -0
  180. package/dist/esm/Chat/Kit/reactionsExcludingUser.js.map +1 -1
  181. package/dist/esm/Chat/index.d.ts +2 -0
  182. package/dist/esm/Chat/index.d.ts.map +1 -0
  183. package/dist/esm/Chat/isTopicUnnamed.d.ts +1 -0
  184. package/dist/esm/Chat/isTopicUnnamed.d.ts.map +1 -0
  185. package/dist/esm/Chat/isTopicUnnamed.js.map +1 -1
  186. package/dist/esm/Chat/relativeTimestamp.js.map +1 -1
  187. package/dist/esm/Chat/shouldRequestTopicName.js.map +1 -1
  188. package/dist/esm/Chat/topicsByActivity.d.ts +1 -0
  189. package/dist/esm/Chat/topicsByActivity.d.ts.map +1 -0
  190. package/dist/esm/Chat/topicsByActivity.js.map +1 -1
  191. package/dist/esm/Chat/useTopicActionFocusRecovery.d.ts +19 -0
  192. package/dist/esm/Chat/useTopicActionFocusRecovery.d.ts.map +1 -0
  193. package/dist/esm/Chat/useTopicActionFocusRecovery.js +41 -0
  194. package/dist/esm/Chat/useTopicActionFocusRecovery.js.map +1 -0
  195. package/dist/esm/CommandDialog/CommandDialog.d.ts +1 -0
  196. package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -0
  197. package/dist/esm/CommandDialog/CommandDialog.js.map +1 -1
  198. package/dist/esm/CommandDialog/CommandStepper.d.ts +1 -0
  199. package/dist/esm/CommandDialog/CommandStepper.d.ts.map +1 -0
  200. package/dist/esm/CommandDialog/CommandStepper.js.map +1 -1
  201. package/dist/esm/CommandDialog/CommandStepperContent.d.ts +1 -0
  202. package/dist/esm/CommandDialog/CommandStepperContent.d.ts.map +1 -0
  203. package/dist/esm/CommandDialog/CommandStepperContent.js.map +1 -1
  204. package/dist/esm/CommandDialog/StepperCommandDialog.d.ts +1 -0
  205. package/dist/esm/CommandDialog/StepperCommandDialog.d.ts.map +1 -0
  206. package/dist/esm/CommandDialog/StepperCommandDialog.js.map +1 -1
  207. package/dist/esm/CommandDialog/StepperPanel.js.map +1 -1
  208. package/dist/esm/CommandDialog/applyBeforeExecute.js.map +1 -1
  209. package/dist/esm/CommandDialog/commandValuesUnchanged.js.map +1 -1
  210. package/dist/esm/CommandDialog/confirmBeforeExecute.js.map +1 -1
  211. package/dist/esm/CommandDialog/index.d.ts +1 -0
  212. package/dist/esm/CommandDialog/index.d.ts.map +1 -0
  213. package/dist/esm/CommandDialog/stepChildren.js.map +1 -1
  214. package/dist/esm/CommandDialog/transitionStep.d.ts +1 -0
  215. package/dist/esm/CommandDialog/transitionStep.d.ts.map +1 -0
  216. package/dist/esm/CommandDialog/transitionStep.js.map +1 -1
  217. package/dist/esm/CommandDialog/useCommandExecution.d.ts +1 -0
  218. package/dist/esm/CommandDialog/useCommandExecution.d.ts.map +1 -0
  219. package/dist/esm/CommandDialog/useCommandExecution.js.map +1 -1
  220. package/dist/esm/CommandDialog/useSubmissionFlight.js.map +1 -1
  221. package/dist/esm/CommandForm/AutoCommandForm.js.map +1 -1
  222. package/dist/esm/CommandForm/FieldTypeProvider.js.map +1 -1
  223. package/dist/esm/CommandForm/commandFormMarkers.js.map +1 -1
  224. package/dist/esm/CommandForm/defaultFieldTypeProviders.js.map +1 -1
  225. package/dist/esm/CommandForm/fieldTypeProviderRegistry.d.ts +1 -0
  226. package/dist/esm/CommandForm/fieldTypeProviderRegistry.d.ts.map +1 -0
  227. package/dist/esm/CommandForm/fieldTypeProviderRegistry.js.map +1 -1
  228. package/dist/esm/CommandForm/fields/CalendarField.d.ts +1 -0
  229. package/dist/esm/CommandForm/fields/CalendarField.d.ts.map +1 -0
  230. package/dist/esm/CommandForm/fields/CalendarField.js.map +1 -1
  231. package/dist/esm/CommandForm/fields/CheckboxField.d.ts +1 -0
  232. package/dist/esm/CommandForm/fields/CheckboxField.d.ts.map +1 -0
  233. package/dist/esm/CommandForm/fields/CheckboxField.js.map +1 -1
  234. package/dist/esm/CommandForm/fields/ChipsField.d.ts +1 -0
  235. package/dist/esm/CommandForm/fields/ChipsField.d.ts.map +1 -0
  236. package/dist/esm/CommandForm/fields/ChipsField.js.map +1 -1
  237. package/dist/esm/CommandForm/fields/ColorPickerField.d.ts +1 -0
  238. package/dist/esm/CommandForm/fields/ColorPickerField.d.ts.map +1 -0
  239. package/dist/esm/CommandForm/fields/ColorPickerField.js.map +1 -1
  240. package/dist/esm/CommandForm/fields/DropdownField.d.ts +1 -0
  241. package/dist/esm/CommandForm/fields/DropdownField.d.ts.map +1 -0
  242. package/dist/esm/CommandForm/fields/DropdownField.js.map +1 -1
  243. package/dist/esm/CommandForm/fields/InputTextField.d.ts +1 -0
  244. package/dist/esm/CommandForm/fields/InputTextField.d.ts.map +1 -0
  245. package/dist/esm/CommandForm/fields/InputTextField.js.map +1 -1
  246. package/dist/esm/CommandForm/fields/MultiSelectField.d.ts +1 -0
  247. package/dist/esm/CommandForm/fields/MultiSelectField.d.ts.map +1 -0
  248. package/dist/esm/CommandForm/fields/MultiSelectField.js.map +1 -1
  249. package/dist/esm/CommandForm/fields/NumberField.d.ts +1 -0
  250. package/dist/esm/CommandForm/fields/NumberField.d.ts.map +1 -0
  251. package/dist/esm/CommandForm/fields/NumberField.js.map +1 -1
  252. package/dist/esm/CommandForm/fields/NumberInputField.d.ts +1 -0
  253. package/dist/esm/CommandForm/fields/NumberInputField.d.ts.map +1 -0
  254. package/dist/esm/CommandForm/fields/NumberInputField.js.map +1 -1
  255. package/dist/esm/CommandForm/fields/PasswordField.d.ts +1 -0
  256. package/dist/esm/CommandForm/fields/PasswordField.d.ts.map +1 -0
  257. package/dist/esm/CommandForm/fields/PasswordField.js.map +1 -1
  258. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts +1 -0
  259. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts.map +1 -0
  260. package/dist/esm/CommandForm/fields/RadioButtonField.js.map +1 -1
  261. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts +1 -0
  262. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts.map +1 -0
  263. package/dist/esm/CommandForm/fields/RadioGroupField.js.map +1 -1
  264. package/dist/esm/CommandForm/fields/RatingField.d.ts +1 -0
  265. package/dist/esm/CommandForm/fields/RatingField.d.ts.map +1 -0
  266. package/dist/esm/CommandForm/fields/RatingField.js.map +1 -1
  267. package/dist/esm/CommandForm/fields/SliderField.d.ts +1 -0
  268. package/dist/esm/CommandForm/fields/SliderField.d.ts.map +1 -0
  269. package/dist/esm/CommandForm/fields/SliderField.js.map +1 -1
  270. package/dist/esm/CommandForm/fields/TextAreaField.d.ts +1 -0
  271. package/dist/esm/CommandForm/fields/TextAreaField.d.ts.map +1 -0
  272. package/dist/esm/CommandForm/fields/TextAreaField.js.map +1 -1
  273. package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts +1 -0
  274. package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts.map +1 -0
  275. package/dist/esm/CommandForm/fields/ToggleSwitchField.js.map +1 -1
  276. package/dist/esm/CommandForm/fields/chipValues.js.map +1 -1
  277. package/dist/esm/CommandForm/fields/fieldAccessibility.js.map +1 -1
  278. package/dist/esm/CommandForm/fields/fieldValueFromEvent.js.map +1 -1
  279. package/dist/esm/CommandForm/fields/index.d.ts +1 -0
  280. package/dist/esm/CommandForm/fields/index.d.ts.map +1 -0
  281. package/dist/esm/CommandForm/fields/index.js +1 -0
  282. package/dist/esm/CommandForm/fields/index.js.map +1 -0
  283. package/dist/esm/CommandForm/index.d.ts +1 -0
  284. package/dist/esm/CommandForm/index.d.ts.map +1 -0
  285. package/dist/esm/Common/ActionMenubar.d.ts +1 -0
  286. package/dist/esm/Common/ActionMenubar.d.ts.map +1 -0
  287. package/dist/esm/Common/ActionMenubar.js.map +1 -1
  288. package/dist/esm/Common/Breadcrumbs.js.map +1 -1
  289. package/dist/esm/Common/Button.d.ts +1 -0
  290. package/dist/esm/Common/Button.d.ts.map +1 -0
  291. package/dist/esm/Common/Button.js.map +1 -1
  292. package/dist/esm/Common/ButtonImplementation.d.ts +1 -0
  293. package/dist/esm/Common/ButtonImplementation.d.ts.map +1 -0
  294. package/dist/esm/Common/ButtonImplementation.js.map +1 -1
  295. package/dist/esm/Common/Checkbox.d.ts +1 -0
  296. package/dist/esm/Common/Checkbox.d.ts.map +1 -0
  297. package/dist/esm/Common/Checkbox.js.map +1 -1
  298. package/dist/esm/Common/CheckboxImplementation.d.ts +1 -0
  299. package/dist/esm/Common/CheckboxImplementation.d.ts.map +1 -0
  300. package/dist/esm/Common/CheckboxImplementation.js.map +1 -1
  301. package/dist/esm/Common/ComboBox.js.map +1 -1
  302. package/dist/esm/Common/CratisComponentsProvider.d.ts +1 -0
  303. package/dist/esm/Common/CratisComponentsProvider.d.ts.map +1 -0
  304. package/dist/esm/Common/CratisComponentsProvider.js.map +1 -1
  305. package/dist/esm/Common/DatePickerInput.d.ts +1 -0
  306. package/dist/esm/Common/DatePickerInput.d.ts.map +1 -0
  307. package/dist/esm/Common/DatePickerInput.js.map +1 -1
  308. package/dist/esm/Common/DatePickerInputImplementation.d.ts +1 -0
  309. package/dist/esm/Common/DatePickerInputImplementation.d.ts.map +1 -0
  310. package/dist/esm/Common/DatePickerInputImplementation.js.map +1 -1
  311. package/dist/esm/Common/ErrorBoundary.js.map +1 -1
  312. package/dist/esm/Common/FormElement.js.map +1 -1
  313. package/dist/esm/Common/Icon.js.map +1 -1
  314. package/dist/esm/Common/IconButton.d.ts +1 -0
  315. package/dist/esm/Common/IconButton.d.ts.map +1 -0
  316. package/dist/esm/Common/IconButton.js.map +1 -1
  317. package/dist/esm/Common/IconButtonImplementation.d.ts +1 -0
  318. package/dist/esm/Common/IconButtonImplementation.d.ts.map +1 -0
  319. package/dist/esm/Common/IconButtonImplementation.js.map +1 -1
  320. package/dist/esm/Common/NumberInput.d.ts +1 -0
  321. package/dist/esm/Common/NumberInput.d.ts.map +1 -0
  322. package/dist/esm/Common/NumberInput.js.map +1 -1
  323. package/dist/esm/Common/NumberInputCommitReason.js.map +1 -1
  324. package/dist/esm/Common/NumberInputPartAttributes.js.map +1 -1
  325. package/dist/esm/Common/Page.js.map +1 -1
  326. package/dist/esm/Common/Radio.d.ts +1 -0
  327. package/dist/esm/Common/Radio.d.ts.map +1 -0
  328. package/dist/esm/Common/Radio.js.map +1 -1
  329. package/dist/esm/Common/RadioImplementation.d.ts +1 -0
  330. package/dist/esm/Common/RadioImplementation.d.ts.map +1 -0
  331. package/dist/esm/Common/RadioImplementation.js.map +1 -1
  332. package/dist/esm/Common/Surface.js.map +1 -1
  333. package/dist/esm/Common/SurfaceImplementation.d.ts +1 -0
  334. package/dist/esm/Common/SurfaceImplementation.d.ts.map +1 -0
  335. package/dist/esm/Common/SurfaceImplementation.js.map +1 -1
  336. package/dist/esm/Common/Switch.d.ts +1 -0
  337. package/dist/esm/Common/Switch.d.ts.map +1 -0
  338. package/dist/esm/Common/Switch.js.map +1 -1
  339. package/dist/esm/Common/SwitchImplementation.d.ts +1 -0
  340. package/dist/esm/Common/SwitchImplementation.d.ts.map +1 -0
  341. package/dist/esm/Common/SwitchImplementation.js.map +1 -1
  342. package/dist/esm/Common/Tabs.js.map +1 -1
  343. package/dist/esm/Common/TagGroup.js.map +1 -1
  344. package/dist/esm/Common/TextArea.d.ts +1 -0
  345. package/dist/esm/Common/TextArea.d.ts.map +1 -0
  346. package/dist/esm/Common/TextArea.js.map +1 -1
  347. package/dist/esm/Common/TextAreaImplementation.d.ts +1 -0
  348. package/dist/esm/Common/TextAreaImplementation.d.ts.map +1 -0
  349. package/dist/esm/Common/TextAreaImplementation.js.map +1 -1
  350. package/dist/esm/Common/TextInput.d.ts +1 -0
  351. package/dist/esm/Common/TextInput.d.ts.map +1 -0
  352. package/dist/esm/Common/TextInput.js.map +1 -1
  353. package/dist/esm/Common/TextInputImplementation.d.ts +1 -0
  354. package/dist/esm/Common/TextInputImplementation.d.ts.map +1 -0
  355. package/dist/esm/Common/TextInputImplementation.js.map +1 -1
  356. package/dist/esm/Common/ToggleGroup.js.map +1 -1
  357. package/dist/esm/Common/ToolbarFocusMode.js.map +1 -1
  358. package/dist/esm/Common/Tooltip.js.map +1 -1
  359. package/dist/esm/Common/TooltipImplementation.d.ts +1 -0
  360. package/dist/esm/Common/TooltipImplementation.d.ts.map +1 -0
  361. package/dist/esm/Common/TooltipImplementation.js.map +1 -1
  362. package/dist/esm/Common/index.d.ts +1 -0
  363. package/dist/esm/Common/index.d.ts.map +1 -0
  364. package/dist/esm/Common/messaging/useOptionalMessenger.js.map +1 -1
  365. package/dist/esm/Common/normalizeIconClass.js.map +1 -1
  366. package/dist/esm/Common/reactAriaProps.js.map +1 -1
  367. package/dist/esm/Common/useNativeCheckedState.js.map +1 -1
  368. package/dist/esm/Common/useToolbarKeyboardNavigation.d.ts +1 -0
  369. package/dist/esm/Common/useToolbarKeyboardNavigation.d.ts.map +1 -0
  370. package/dist/esm/Common/useToolbarKeyboardNavigation.js.map +1 -1
  371. package/dist/esm/DataPage/DataPage.d.ts +1 -0
  372. package/dist/esm/DataPage/DataPage.d.ts.map +1 -0
  373. package/dist/esm/DataPage/DataPage.js.map +1 -1
  374. package/dist/esm/DataPage/DataPageLayout.js.map +1 -1
  375. package/dist/esm/DataPage/index.d.ts +1 -0
  376. package/dist/esm/DataPage/index.d.ts.map +1 -0
  377. package/dist/esm/DataTables/Column.d.ts +1 -0
  378. package/dist/esm/DataTables/Column.d.ts.map +1 -0
  379. package/dist/esm/DataTables/Column.js.map +1 -1
  380. package/dist/esm/DataTables/ColumnFilterMenu.d.ts +1 -0
  381. package/dist/esm/DataTables/ColumnFilterMenu.d.ts.map +1 -0
  382. package/dist/esm/DataTables/ColumnFilterMenu.js.map +1 -1
  383. package/dist/esm/DataTables/DataTableCore.d.ts +1 -0
  384. package/dist/esm/DataTables/DataTableCore.d.ts.map +1 -0
  385. package/dist/esm/DataTables/DataTableCore.js.map +1 -1
  386. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts +1 -0
  387. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts.map +1 -0
  388. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.js.map +1 -1
  389. package/dist/esm/DataTables/DataTableFilterMeta.js.map +1 -1
  390. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts +1 -0
  391. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts.map +1 -0
  392. package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -1
  393. package/dist/esm/DataTables/DataTableForQuery.d.ts +1 -0
  394. package/dist/esm/DataTables/DataTableForQuery.d.ts.map +1 -0
  395. package/dist/esm/DataTables/DataTableForQuery.js.map +1 -1
  396. package/dist/esm/DataTables/DataTableSelectionChangeEvent.js.map +1 -1
  397. package/dist/esm/DataTables/DataTableStatus.js.map +1 -1
  398. package/dist/esm/DataTables/TablePaginator.d.ts +1 -0
  399. package/dist/esm/DataTables/TablePaginator.d.ts.map +1 -0
  400. package/dist/esm/DataTables/TablePaginator.js.map +1 -1
  401. package/dist/esm/DataTables/TablePaginatorImplementation.d.ts +1 -0
  402. package/dist/esm/DataTables/TablePaginatorImplementation.d.ts.map +1 -0
  403. package/dist/esm/DataTables/TablePaginatorImplementation.js.map +1 -1
  404. package/dist/esm/DataTables/index.d.ts +1 -0
  405. package/dist/esm/DataTables/index.d.ts.map +1 -0
  406. package/dist/esm/DataTables/paginatorRange.js.map +1 -1
  407. package/dist/esm/DataTables/resolveDataTableStatus.d.ts +1 -0
  408. package/dist/esm/DataTables/resolveDataTableStatus.d.ts.map +1 -0
  409. package/dist/esm/DataTables/resolveDataTableStatus.js.map +1 -1
  410. package/dist/esm/DataTables/selectionKeys.js.map +1 -1
  411. package/dist/esm/Dialogs/BusyIndicatorDialog.js.map +1 -1
  412. package/dist/esm/Dialogs/ConfirmationDialog.js.map +1 -1
  413. package/dist/esm/Dialogs/Dialog.d.ts +1 -0
  414. package/dist/esm/Dialogs/Dialog.d.ts.map +1 -0
  415. package/dist/esm/Dialogs/Dialog.js.map +1 -1
  416. package/dist/esm/Dialogs/DialogImplementation.d.ts +1 -0
  417. package/dist/esm/Dialogs/DialogImplementation.d.ts.map +1 -0
  418. package/dist/esm/Dialogs/DialogImplementation.js.map +1 -1
  419. package/dist/esm/Dialogs/DialogInitialFocus.js.map +1 -1
  420. package/dist/esm/Dialogs/index.d.ts +1 -0
  421. package/dist/esm/Dialogs/index.d.ts.map +1 -0
  422. package/dist/esm/Display/Avatar.js.map +1 -1
  423. package/dist/esm/Display/Badge.js.map +1 -1
  424. package/dist/esm/Display/Chip.js.map +1 -1
  425. package/dist/esm/Display/Message.js.map +1 -1
  426. package/dist/esm/Display/ProgressBar.js.map +1 -1
  427. package/dist/esm/Display/ProgressBarImplementation.d.ts +1 -0
  428. package/dist/esm/Display/ProgressBarImplementation.d.ts.map +1 -0
  429. package/dist/esm/Display/ProgressBarImplementation.js.map +1 -1
  430. package/dist/esm/Display/ProgressSpinner.js.map +1 -1
  431. package/dist/esm/Display/Skeleton.js.map +1 -1
  432. package/dist/esm/Display/Tag.js.map +1 -1
  433. package/dist/esm/Display/index.d.ts +1 -0
  434. package/dist/esm/Display/index.d.ts.map +1 -0
  435. package/dist/esm/Dropdown/Dropdown.d.ts +1 -0
  436. package/dist/esm/Dropdown/Dropdown.d.ts.map +1 -0
  437. package/dist/esm/Dropdown/Dropdown.js.map +1 -1
  438. package/dist/esm/Dropdown/DropdownImplementation.d.ts +1 -0
  439. package/dist/esm/Dropdown/DropdownImplementation.d.ts.map +1 -0
  440. package/dist/esm/Dropdown/DropdownImplementation.js.map +1 -1
  441. package/dist/esm/Dropdown/index.d.ts +1 -0
  442. package/dist/esm/Dropdown/index.d.ts.map +1 -0
  443. package/dist/esm/Dropdown/observeLabelAssociations.js.map +1 -1
  444. package/dist/esm/Dropdown/useExternalLabel.js.map +1 -1
  445. package/dist/esm/Filter/CheckboxListFilter.d.ts +1 -0
  446. package/dist/esm/Filter/CheckboxListFilter.d.ts.map +1 -0
  447. package/dist/esm/Filter/CheckboxListFilter.js.map +1 -1
  448. package/dist/esm/Filter/FilterEditor.d.ts +1 -0
  449. package/dist/esm/Filter/FilterEditor.d.ts.map +1 -0
  450. package/dist/esm/Filter/FilterEditor.js.map +1 -1
  451. package/dist/esm/Filter/FilterEditorProps.d.ts +1 -0
  452. package/dist/esm/Filter/FilterEditorProps.d.ts.map +1 -0
  453. package/dist/esm/Filter/FilterEditorProps.js.map +1 -1
  454. package/dist/esm/Filter/FilterPanel.d.ts +1 -0
  455. package/dist/esm/Filter/FilterPanel.d.ts.map +1 -0
  456. package/dist/esm/Filter/FilterPanel.js.map +1 -1
  457. package/dist/esm/Filter/RangeHistogramFilter.d.ts +1 -0
  458. package/dist/esm/Filter/RangeHistogramFilter.d.ts.map +1 -0
  459. package/dist/esm/Filter/RangeHistogramFilter.js.map +1 -1
  460. package/dist/esm/Filter/index.d.ts +1 -0
  461. package/dist/esm/Filter/index.d.ts.map +1 -0
  462. package/dist/esm/Filter/types.js.map +1 -1
  463. package/dist/esm/Filter/useFilterState.d.ts +1 -0
  464. package/dist/esm/Filter/useFilterState.d.ts.map +1 -0
  465. package/dist/esm/Filter/useFilterState.js.map +1 -1
  466. package/dist/esm/Filter/useOptionListOverflow.js.map +1 -1
  467. package/dist/esm/Filter/utils.d.ts +1 -0
  468. package/dist/esm/Filter/utils.d.ts.map +1 -0
  469. package/dist/esm/Filter/utils.js.map +1 -1
  470. package/dist/esm/Notifications/Toaster.js.map +1 -1
  471. package/dist/esm/Notifications/index.d.ts +1 -0
  472. package/dist/esm/Notifications/index.d.ts.map +1 -0
  473. package/dist/esm/Notifications/toast.js.map +1 -1
  474. package/dist/esm/Notifications/toastCommandResult.js.map +1 -1
  475. package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts +1 -0
  476. package/dist/esm/ObjectContentEditor/ObjectContentEditor.d.ts.map +1 -0
  477. package/dist/esm/ObjectContentEditor/ObjectContentEditor.js.map +1 -1
  478. package/dist/esm/ObjectContentEditor/index.d.ts +1 -0
  479. package/dist/esm/ObjectContentEditor/index.d.ts.map +1 -0
  480. package/dist/esm/ObjectContentEditor/objectHelpers.d.ts +1 -0
  481. package/dist/esm/ObjectContentEditor/objectHelpers.d.ts.map +1 -0
  482. package/dist/esm/ObjectContentEditor/objectHelpers.js.map +1 -1
  483. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js.map +1 -1
  484. package/dist/esm/ObjectNavigationalBar/breadcrumbHelpers.js.map +1 -1
  485. package/dist/esm/ObjectNavigationalBar/index.d.ts +1 -0
  486. package/dist/esm/ObjectNavigationalBar/index.d.ts.map +1 -0
  487. package/dist/esm/PivotViewer/PivotViewer.d.ts +1 -0
  488. package/dist/esm/PivotViewer/PivotViewer.d.ts.map +1 -0
  489. package/dist/esm/PivotViewer/PivotViewer.js.map +1 -1
  490. package/dist/esm/PivotViewer/PivotViewerLabels.js.map +1 -1
  491. package/dist/esm/PivotViewer/components/AxisLabels.d.ts +1 -0
  492. package/dist/esm/PivotViewer/components/AxisLabels.d.ts.map +1 -0
  493. package/dist/esm/PivotViewer/components/AxisLabels.js.map +1 -1
  494. package/dist/esm/PivotViewer/components/DetailPanel.js.map +1 -1
  495. package/dist/esm/PivotViewer/components/FilterPanel.d.ts +1 -0
  496. package/dist/esm/PivotViewer/components/FilterPanel.d.ts.map +1 -0
  497. package/dist/esm/PivotViewer/components/FilterPanel.js.map +1 -1
  498. package/dist/esm/PivotViewer/components/FilterPanelContainer.d.ts +1 -0
  499. package/dist/esm/PivotViewer/components/FilterPanelContainer.d.ts.map +1 -0
  500. package/dist/esm/PivotViewer/components/FilterPanelContainer.js.map +1 -1
  501. package/dist/esm/PivotViewer/components/PivotCanvas.d.ts +1 -0
  502. package/dist/esm/PivotViewer/components/PivotCanvas.d.ts.map +1 -0
  503. package/dist/esm/PivotViewer/components/PivotCanvas.js.map +1 -1
  504. package/dist/esm/PivotViewer/components/PivotViewerMain.d.ts +1 -0
  505. package/dist/esm/PivotViewer/components/PivotViewerMain.d.ts.map +1 -0
  506. package/dist/esm/PivotViewer/components/PivotViewerMain.js.map +1 -1
  507. package/dist/esm/PivotViewer/components/RangeHistogramFilter.d.ts +1 -0
  508. package/dist/esm/PivotViewer/components/RangeHistogramFilter.d.ts.map +1 -0
  509. package/dist/esm/PivotViewer/components/RangeHistogramFilter.js.map +1 -1
  510. package/dist/esm/PivotViewer/components/Spinner.js.map +1 -1
  511. package/dist/esm/PivotViewer/components/Toolbar.d.ts +1 -0
  512. package/dist/esm/PivotViewer/components/Toolbar.d.ts.map +1 -0
  513. package/dist/esm/PivotViewer/components/Toolbar.js.map +1 -1
  514. package/dist/esm/PivotViewer/components/ToolbarContainer.d.ts +1 -0
  515. package/dist/esm/PivotViewer/components/ToolbarContainer.d.ts.map +1 -0
  516. package/dist/esm/PivotViewer/components/ToolbarContainer.js.map +1 -1
  517. package/dist/esm/PivotViewer/components/index.d.ts +1 -0
  518. package/dist/esm/PivotViewer/components/index.d.ts.map +1 -0
  519. package/dist/esm/PivotViewer/components/index.js +1 -0
  520. package/dist/esm/PivotViewer/components/index.js.map +1 -0
  521. package/dist/esm/PivotViewer/components/pivot/animation.d.ts +1 -0
  522. package/dist/esm/PivotViewer/components/pivot/animation.d.ts.map +1 -0
  523. package/dist/esm/PivotViewer/components/pivot/animation.js.map +1 -1
  524. package/dist/esm/PivotViewer/components/pivot/colorResolver.d.ts +1 -0
  525. package/dist/esm/PivotViewer/components/pivot/colorResolver.d.ts.map +1 -0
  526. package/dist/esm/PivotViewer/components/pivot/colorResolver.js.map +1 -1
  527. package/dist/esm/PivotViewer/components/pivot/constants.js.map +1 -1
  528. package/dist/esm/PivotViewer/components/pivot/ellipsize.js.map +1 -1
  529. package/dist/esm/PivotViewer/components/pivot/groups.d.ts +1 -0
  530. package/dist/esm/PivotViewer/components/pivot/groups.d.ts.map +1 -0
  531. package/dist/esm/PivotViewer/components/pivot/groups.js.map +1 -1
  532. package/dist/esm/PivotViewer/components/pivot/sprites.d.ts +1 -0
  533. package/dist/esm/PivotViewer/components/pivot/sprites.d.ts.map +1 -0
  534. package/dist/esm/PivotViewer/components/pivot/sprites.js.map +1 -1
  535. package/dist/esm/PivotViewer/components/pivot/syncScrollSprites.d.ts +1 -0
  536. package/dist/esm/PivotViewer/components/pivot/syncScrollSprites.d.ts.map +1 -0
  537. package/dist/esm/PivotViewer/components/pivot/syncScrollSprites.js.map +1 -1
  538. package/dist/esm/PivotViewer/components/pivot/visibility.d.ts +1 -0
  539. package/dist/esm/PivotViewer/components/pivot/visibility.d.ts.map +1 -0
  540. package/dist/esm/PivotViewer/components/pivot/visibility.js.map +1 -1
  541. package/dist/esm/PivotViewer/constants.js.map +1 -1
  542. package/dist/esm/PivotViewer/engine/layout.d.ts +1 -0
  543. package/dist/esm/PivotViewer/engine/layout.d.ts.map +1 -0
  544. package/dist/esm/PivotViewer/engine/layout.js.map +1 -1
  545. package/dist/esm/PivotViewer/engine/pivot.worker.js +1 -0
  546. package/dist/esm/PivotViewer/engine/pivot.worker.js.map +1 -0
  547. package/dist/esm/PivotViewer/engine/requestCorrelator.js.map +1 -1
  548. package/dist/esm/PivotViewer/engine/store.d.ts +1 -0
  549. package/dist/esm/PivotViewer/engine/store.d.ts.map +1 -0
  550. package/dist/esm/PivotViewer/engine/store.js.map +1 -1
  551. package/dist/esm/PivotViewer/engine/types.js.map +1 -1
  552. package/dist/esm/PivotViewer/hooks/index.d.ts +1 -0
  553. package/dist/esm/PivotViewer/hooks/index.d.ts.map +1 -0
  554. package/dist/esm/PivotViewer/hooks/index.js +1 -0
  555. package/dist/esm/PivotViewer/hooks/index.js.map +1 -0
  556. package/dist/esm/PivotViewer/hooks/useAnimationModeTracking.js.map +1 -1
  557. package/dist/esm/PivotViewer/hooks/useCardSelection.d.ts +1 -0
  558. package/dist/esm/PivotViewer/hooks/useCardSelection.d.ts.map +1 -0
  559. package/dist/esm/PivotViewer/hooks/useCardSelection.js.map +1 -1
  560. package/dist/esm/PivotViewer/hooks/useContainerDimensions.js.map +1 -1
  561. package/dist/esm/PivotViewer/hooks/useCurrentFilters.d.ts +1 -0
  562. package/dist/esm/PivotViewer/hooks/useCurrentFilters.d.ts.map +1 -0
  563. package/dist/esm/PivotViewer/hooks/useCurrentFilters.js.map +1 -1
  564. package/dist/esm/PivotViewer/hooks/useDetailPanelClose.d.ts +1 -0
  565. package/dist/esm/PivotViewer/hooks/useDetailPanelClose.d.ts.map +1 -0
  566. package/dist/esm/PivotViewer/hooks/useDetailPanelClose.js.map +1 -1
  567. package/dist/esm/PivotViewer/hooks/useDimensionState.d.ts +1 -0
  568. package/dist/esm/PivotViewer/hooks/useDimensionState.d.ts.map +1 -0
  569. package/dist/esm/PivotViewer/hooks/useDimensionState.js.map +1 -1
  570. package/dist/esm/PivotViewer/hooks/useFieldExtractors.d.ts +1 -0
  571. package/dist/esm/PivotViewer/hooks/useFieldExtractors.d.ts.map +1 -0
  572. package/dist/esm/PivotViewer/hooks/useFieldExtractors.js.map +1 -1
  573. package/dist/esm/PivotViewer/hooks/useFilterOptions.d.ts +1 -0
  574. package/dist/esm/PivotViewer/hooks/useFilterOptions.d.ts.map +1 -0
  575. package/dist/esm/PivotViewer/hooks/useFilterOptions.js.map +1 -1
  576. package/dist/esm/PivotViewer/hooks/useFilterPanelDrag.js.map +1 -1
  577. package/dist/esm/PivotViewer/hooks/useFilterState.d.ts +1 -0
  578. package/dist/esm/PivotViewer/hooks/useFilterState.d.ts.map +1 -0
  579. package/dist/esm/PivotViewer/hooks/useFilterState.js.map +1 -1
  580. package/dist/esm/PivotViewer/hooks/useFilteredData.d.ts +1 -0
  581. package/dist/esm/PivotViewer/hooks/useFilteredData.d.ts.map +1 -0
  582. package/dist/esm/PivotViewer/hooks/useFilteredData.js +1 -0
  583. package/dist/esm/PivotViewer/hooks/useFilteredData.js.map +1 -0
  584. package/dist/esm/PivotViewer/hooks/usePanning.js.map +1 -1
  585. package/dist/esm/PivotViewer/hooks/usePivotEngine.d.ts +1 -0
  586. package/dist/esm/PivotViewer/hooks/usePivotEngine.d.ts.map +1 -0
  587. package/dist/esm/PivotViewer/hooks/usePivotEngine.js.map +1 -1
  588. package/dist/esm/PivotViewer/hooks/useScrollSync.d.ts +1 -0
  589. package/dist/esm/PivotViewer/hooks/useScrollSync.d.ts.map +1 -0
  590. package/dist/esm/PivotViewer/hooks/useScrollSync.js.map +1 -1
  591. package/dist/esm/PivotViewer/hooks/useSelectedItem.js +1 -0
  592. package/dist/esm/PivotViewer/hooks/useSelectedItem.js.map +1 -0
  593. package/dist/esm/PivotViewer/hooks/useViewModeScrollHandling.d.ts +1 -0
  594. package/dist/esm/PivotViewer/hooks/useViewModeScrollHandling.d.ts.map +1 -0
  595. package/dist/esm/PivotViewer/hooks/useViewModeScrollHandling.js.map +1 -1
  596. package/dist/esm/PivotViewer/hooks/useWheelZoom.js.map +1 -1
  597. package/dist/esm/PivotViewer/hooks/useZoomScrollAnchor.js.map +1 -1
  598. package/dist/esm/PivotViewer/hooks/useZoomState.js.map +1 -1
  599. package/dist/esm/PivotViewer/index.d.ts +1 -0
  600. package/dist/esm/PivotViewer/index.d.ts.map +1 -0
  601. package/dist/esm/PivotViewer/types.d.ts +1 -0
  602. package/dist/esm/PivotViewer/types.d.ts.map +1 -0
  603. package/dist/esm/PivotViewer/types.js.map +1 -1
  604. package/dist/esm/PivotViewer/utils/animations.js.map +1 -1
  605. package/dist/esm/PivotViewer/utils/cardPosition.d.ts +1 -0
  606. package/dist/esm/PivotViewer/utils/cardPosition.d.ts.map +1 -0
  607. package/dist/esm/PivotViewer/utils/cardPosition.js.map +1 -1
  608. package/dist/esm/PivotViewer/utils/constants.js.map +1 -1
  609. package/dist/esm/PivotViewer/utils/idResolution.d.ts +1 -0
  610. package/dist/esm/PivotViewer/utils/idResolution.d.ts.map +1 -0
  611. package/dist/esm/PivotViewer/utils/idResolution.js.map +1 -1
  612. package/dist/esm/PivotViewer/utils/index.d.ts +1 -0
  613. package/dist/esm/PivotViewer/utils/index.d.ts.map +1 -0
  614. package/dist/esm/PivotViewer/utils/index.js +1 -0
  615. package/dist/esm/PivotViewer/utils/index.js.map +1 -0
  616. package/dist/esm/PivotViewer/utils/presentGrouping.d.ts +1 -0
  617. package/dist/esm/PivotViewer/utils/presentGrouping.d.ts.map +1 -0
  618. package/dist/esm/PivotViewer/utils/presentGrouping.js.map +1 -1
  619. package/dist/esm/PivotViewer/utils/search.d.ts +1 -0
  620. package/dist/esm/PivotViewer/utils/search.d.ts.map +1 -0
  621. package/dist/esm/PivotViewer/utils/search.js.map +1 -1
  622. package/dist/esm/PivotViewer/utils/selection.d.ts +1 -0
  623. package/dist/esm/PivotViewer/utils/selection.d.ts.map +1 -0
  624. package/dist/esm/PivotViewer/utils/selection.js.map +1 -1
  625. package/dist/esm/PivotViewer/utils/utils.d.ts +1 -0
  626. package/dist/esm/PivotViewer/utils/utils.d.ts.map +1 -0
  627. package/dist/esm/PivotViewer/utils/utils.js.map +1 -1
  628. package/dist/esm/QueryStatus/QueryStatus.js.map +1 -1
  629. package/dist/esm/QueryStatus/resolveQueryStatus.d.ts +1 -0
  630. package/dist/esm/QueryStatus/resolveQueryStatus.d.ts.map +1 -0
  631. package/dist/esm/QueryStatus/resolveQueryStatus.js.map +1 -1
  632. package/dist/esm/SchemaEditor/NameCell.d.ts +1 -0
  633. package/dist/esm/SchemaEditor/NameCell.d.ts.map +1 -0
  634. package/dist/esm/SchemaEditor/NameCell.js.map +1 -1
  635. package/dist/esm/SchemaEditor/SchemaEditor.d.ts +1 -0
  636. package/dist/esm/SchemaEditor/SchemaEditor.d.ts.map +1 -0
  637. package/dist/esm/SchemaEditor/SchemaEditor.js.map +1 -1
  638. package/dist/esm/SchemaEditor/TypeCell.d.ts +1 -0
  639. package/dist/esm/SchemaEditor/TypeCell.d.ts.map +1 -0
  640. package/dist/esm/SchemaEditor/TypeCell.js.map +1 -1
  641. package/dist/esm/SchemaEditor/index.d.ts +1 -0
  642. package/dist/esm/SchemaEditor/index.d.ts.map +1 -0
  643. package/dist/esm/SchemaEditor/schemaHelpers.d.ts +1 -0
  644. package/dist/esm/SchemaEditor/schemaHelpers.d.ts.map +1 -0
  645. package/dist/esm/SchemaEditor/schemaHelpers.js.map +1 -1
  646. package/dist/esm/TimeMachine/EventsView.d.ts +1 -0
  647. package/dist/esm/TimeMachine/EventsView.d.ts.map +1 -0
  648. package/dist/esm/TimeMachine/EventsView.js.map +1 -1
  649. package/dist/esm/TimeMachine/Properties.js.map +1 -1
  650. package/dist/esm/TimeMachine/ReadModelView.d.ts +1 -0
  651. package/dist/esm/TimeMachine/ReadModelView.d.ts.map +1 -0
  652. package/dist/esm/TimeMachine/ReadModelView.js.map +1 -1
  653. package/dist/esm/TimeMachine/TimeMachine.d.ts +1 -0
  654. package/dist/esm/TimeMachine/TimeMachine.d.ts.map +1 -0
  655. package/dist/esm/TimeMachine/TimeMachine.js.map +1 -1
  656. package/dist/esm/TimeMachine/TimeMachineLabels.js.map +1 -1
  657. package/dist/esm/TimeMachine/index.d.ts +1 -0
  658. package/dist/esm/TimeMachine/index.d.ts.map +1 -0
  659. package/dist/esm/TimeMachine/propertiesHelpers.js.map +1 -1
  660. package/dist/esm/TimeMachine/types.js.map +1 -1
  661. package/dist/esm/Toolbar/Toolbar.d.ts +1 -0
  662. package/dist/esm/Toolbar/Toolbar.d.ts.map +1 -0
  663. package/dist/esm/Toolbar/Toolbar.js.map +1 -1
  664. package/dist/esm/Toolbar/ToolbarButton.d.ts +1 -0
  665. package/dist/esm/Toolbar/ToolbarButton.d.ts.map +1 -0
  666. package/dist/esm/Toolbar/ToolbarButton.js.map +1 -1
  667. package/dist/esm/Toolbar/ToolbarContext.js.map +1 -1
  668. package/dist/esm/Toolbar/ToolbarDragContext.js.map +1 -1
  669. package/dist/esm/Toolbar/ToolbarFanOutItem.d.ts +1 -0
  670. package/dist/esm/Toolbar/ToolbarFanOutItem.d.ts.map +1 -0
  671. package/dist/esm/Toolbar/ToolbarFanOutItem.js.map +1 -1
  672. package/dist/esm/Toolbar/ToolbarFolder.d.ts +1 -0
  673. package/dist/esm/Toolbar/ToolbarFolder.d.ts.map +1 -0
  674. package/dist/esm/Toolbar/ToolbarFolder.js.map +1 -1
  675. package/dist/esm/Toolbar/ToolbarFolderContext.js.map +1 -1
  676. package/dist/esm/Toolbar/ToolbarGroup.js.map +1 -1
  677. package/dist/esm/Toolbar/ToolbarItemVisibilityContext.js.map +1 -1
  678. package/dist/esm/Toolbar/ToolbarLayout.js.map +1 -1
  679. package/dist/esm/Toolbar/ToolbarSection.js.map +1 -1
  680. package/dist/esm/Toolbar/ToolbarSeparator.js.map +1 -1
  681. package/dist/esm/Toolbar/ToolbarSlot.js.map +1 -1
  682. package/dist/esm/Toolbar/index.d.ts +1 -0
  683. package/dist/esm/Toolbar/index.d.ts.map +1 -0
  684. package/dist/esm/configuration/CratisComponentsContext.d.ts +1 -0
  685. package/dist/esm/configuration/CratisComponentsContext.d.ts.map +1 -0
  686. package/dist/esm/configuration/CratisComponentsContext.js.map +1 -1
  687. package/dist/esm/configuration/CratisComponentsDefaults.d.ts +1 -0
  688. package/dist/esm/configuration/CratisComponentsDefaults.d.ts.map +1 -0
  689. package/dist/esm/configuration/CratisComponentsDefaults.js.map +1 -1
  690. package/dist/esm/configuration/useCratisIcon.d.ts +1 -0
  691. package/dist/esm/configuration/useCratisIcon.d.ts.map +1 -0
  692. package/dist/esm/configuration/useCratisIcon.js.map +1 -1
  693. package/dist/esm/index.d.ts +1 -0
  694. package/dist/esm/index.d.ts.map +1 -0
  695. package/dist/esm/renderer/DialogStackContext.js.map +1 -1
  696. package/dist/esm/renderer/RendererContext.d.ts +1 -0
  697. package/dist/esm/renderer/RendererContext.d.ts.map +1 -0
  698. package/dist/esm/renderer/RendererContext.js.map +1 -1
  699. package/dist/esm/renderer/RendererScope.d.ts +1 -0
  700. package/dist/esm/renderer/RendererScope.d.ts.map +1 -0
  701. package/dist/esm/renderer/RendererScope.js.map +1 -1
  702. package/dist/esm/renderer/builtin/index.js.map +1 -1
  703. package/dist/esm/renderer/capabilities.js.map +1 -1
  704. package/dist/esm/renderer/coreSlots.d.ts +1 -0
  705. package/dist/esm/renderer/coreSlots.d.ts.map +1 -0
  706. package/dist/esm/renderer/coreSlots.js.map +1 -1
  707. package/dist/esm/renderer/dialogStack.js.map +1 -1
  708. package/dist/esm/renderer/errors.d.ts +1 -0
  709. package/dist/esm/renderer/errors.d.ts.map +1 -0
  710. package/dist/esm/renderer/errors.js.map +1 -1
  711. package/dist/esm/renderer/index.d.ts +1 -0
  712. package/dist/esm/renderer/index.d.ts.map +1 -0
  713. package/dist/esm/renderer/manifest.d.ts +1 -0
  714. package/dist/esm/renderer/manifest.d.ts.map +1 -0
  715. package/dist/esm/renderer/manifest.js.map +1 -1
  716. package/dist/esm/renderer/overlayEnvironment.js.map +1 -1
  717. package/dist/esm/renderer/presentation.d.ts +1 -0
  718. package/dist/esm/renderer/presentation.d.ts.map +1 -0
  719. package/dist/esm/renderer/presentation.js.map +1 -1
  720. package/dist/esm/renderer/renderSlot.js.map +1 -1
  721. package/dist/esm/renderer/resolve.d.ts +1 -0
  722. package/dist/esm/renderer/resolve.d.ts.map +1 -0
  723. package/dist/esm/renderer/resolve.js.map +1 -1
  724. package/dist/esm/renderer/slots.js.map +1 -1
  725. package/dist/esm/styles.Canvas.css +17 -1
  726. package/dist/esm/styles.Chat.css +17 -1
  727. package/dist/esm/styles.css +17 -1
  728. package/dist/esm/types/ChangeHandler.d.ts +1 -0
  729. package/dist/esm/types/ChangeHandler.d.ts.map +1 -0
  730. package/dist/esm/types/ChangeHandler.js.map +1 -1
  731. package/dist/esm/types/ChangeMeta.js.map +1 -1
  732. package/dist/esm/types/ExactPartKeys.js.map +1 -1
  733. package/dist/esm/types/JsonSchema.js.map +1 -1
  734. package/dist/esm/types/TypeFormat.js.map +1 -1
  735. package/dist/esm/types/index.d.ts +1 -0
  736. package/dist/esm/types/index.d.ts.map +1 -0
  737. package/dist/esm/types/parts.js.map +1 -1
  738. package/package.json +7 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../Chat/Kit/Avatar/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,yBAAsB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAkB,CAAC"}
@@ -4,3 +4,4 @@ export { PersonAvatarCircle } from './PersonAvatarCircle.js';
4
4
  export { getAvatarColor } from './getAvatarColor.js';
5
5
  // `getInitials` is an internal helper used by `PersonAvatarCircle` and is
6
6
  // intentionally not part of the public API.
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../Chat/Kit/Avatar/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAsB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAkB,CAAC;AAClD,0EAA0E;AAC1E,4CAA4C","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nexport { PersonAvatarCircle } from './PersonAvatarCircle';\nexport type { PersonAvatarCircleProps, BuildAvatarUrlParams } from './PersonAvatarCircle';\nexport { getAvatarColor } from './getAvatarColor';\n// `getInitials` is an internal helper used by `PersonAvatarCircle` and is\n// intentionally not part of the public API.\n"]}
@@ -104,3 +104,4 @@ export interface ChatProps {
104
104
  * callbacks. Owns no state except the draft being typed.
105
105
  */
106
106
  export declare const Chat: React.FC<ChatProps>;
107
+ //# sourceMappingURL=Chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../../Chat/Kit/Chat.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Chat.js","sources":["../../../../Chat/Kit/Chat.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"Chat.js","sources":["../../../../Chat/Kit/Chat.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type React from 'react';\nimport { useCallback, useEffect, useMemo, useRef } from 'react';\nimport type { Guid } from '@cratis/fundamentals';\nimport { useOptionalMessenger } from '../../Common/messaging/useOptionalMessenger';\nimport { useCratisIcon } from '../../configuration/useCratisIcon';\nimport type { BuildAvatarUrlParams } from './Avatar';\nimport { ChatMessageAdded } from './ChatMessageAdded';\nimport {\n ChatComposer,\n type ChatComposerHandle,\n type ChatComposerLabels,\n} from './ChatComposer';\nimport { ChatMessageBubble, type ChatMessageBubbleLabels } from './ChatMessageBubble';\nimport type { ChatMessage } from './ChatMessage';\nimport type { ChatTypingAuthor } from './ChatTypingAuthor';\nimport { ChatVariant } from './ChatVariant';\nimport {\n FailedReply,\n type FailedReplyLabels,\n type FailedReplyReportDetails,\n} from './FailedReply';\nimport type { MentionCandidate } from './Mentions';\nimport { TypingIndicator } from './TypingIndicator';\n\n/** Overrides for every label the {@link Chat} panel and its children render. Any field left unset\n * falls back to a literal English default — this library ships no i18n mechanism of its own, so a\n * host that localizes passes its own translated strings through here. */\nexport interface ChatLabels {\n /** The panel's own title, shown when not {@link ChatVariant.Docked}. Defaults to `'Comments'`. */\n title?: string;\n /** Tooltip for the close button. Defaults to `'Close'`. */\n close?: string;\n /** Accessible label for the close button. Defaults to `'Close panel'`. */\n closePanel?: string;\n /** Shown when there are no messages yet. Defaults to `'No comments yet. Be the first!'`. */\n noComments?: string;\n /** One author typing. `{name}` is substituted. Defaults to `'{name} is typing'`. */\n typing?: string;\n /** Two authors typing. `{first}`/`{second}` are substituted. Defaults to `'{first} and {second} are typing'`. */\n typingTwo?: string;\n /** Three or more authors typing. Defaults to `'Several people are typing'`. */\n typingSeveral?: string;\n /** Labels forwarded to the {@link ChatComposer}. */\n composer?: ChatComposerLabels;\n /** Labels forwarded to every {@link ChatMessageBubble}. */\n messageBubble?: ChatMessageBubbleLabels;\n /** Labels forwarded to every {@link FailedReply}. */\n failedReply?: FailedReplyLabels;\n}\n\n/**\n * Props for the full conversation panel — messages, composer, typing indicator, and reactions.\n * Accepts message data and reports sends/reactions/actions; owns no state except the draft being typed.\n */\nexport interface ChatProps {\n /**\n * Identifies this conversation for opt-in messaging: when set, every send additionally\n * publishes a {@link ChatMessageAdded} carrying this id over the Arc messenger, at the same\n * moment `onSend` fires. Omit for exactly the previous behavior — `onSend` alone, nothing\n * published.\n */\n id?: string;\n\n /** The messages to render in chronological order. */\n messages: ChatMessage[];\n\n /** Invoked with the trimmed message text when the user sends. */\n onSend: (text: string) => void;\n\n /** Invoked when the close button is activated (only rendered when not {@link ChatVariant.Docked}). */\n onClose: () => void;\n\n /** The panel's title. Defaults to the localized `'Comments'` or {@link ChatLabels.title}. */\n title?: string;\n\n /** Whether the composer takes focus when mounted. Defaults to `false`. */\n autoFocus?: boolean;\n\n /**\n * How the conversation is presented. Docked leaves the frame and heading to whatever contains\n * it, which is what a chat sidebar provides.\n */\n variant?: ChatVariant;\n\n /** Everyone who can be mentioned from this conversation. Omit (together with\n * {@link resolveMentionCandidates}) to turn mentions off. */\n mentionCandidates?: MentionCandidate[];\n\n /**\n * Resolves who can be mentioned as the person types — see\n * {@link ChatComposerProps.resolveMentionCandidates}.\n */\n resolveMentionCandidates?: (\n query: string,\n ) => MentionCandidate[] | Promise<MentionCandidate[]>;\n\n /** Who the conversation is currently waiting on — someone typing, or an agent working. */\n typingAuthors?: ChatTypingAuthor[];\n\n /**\n * The identifier of whoever is looking at the conversation. Reactions are only offered when this\n * is given, together with {@link onReact} — a conversation whose backend cannot yet record a\n * reaction simply does not render the affordance.\n */\n currentUserId?: Guid;\n\n /** Invoked with the message reacted to and the emoji picked, whether given, changed, or taken back. */\n onReact?: (messageId: Guid, emoji: string) => void;\n\n /**\n * Invoked with the message somebody asked to have carried out. Omit to leave the affordance off — a\n * conversation whose subject is not something the host can act on does not offer it.\n */\n onAct?: (messageId: Guid) => void;\n\n /**\n * Decides which messages {@link ChatProps.onAct} is offered on. Omit to offer it on all of them.\n */\n canAct?: (message: ChatMessage) => boolean;\n\n /** Builds the avatar image URL for every author shown in the panel. Omit to always show initials. */\n buildAvatarUrl?: (params: BuildAvatarUrlParams) => string;\n\n /**\n * Builds the href for a failed turn's \"report this\" link. Omit to hide the report action on every\n * {@link FailedReply} line — see {@link FailedReplyProps.buildReportUrl}.\n */\n buildReportUrl?: (details: FailedReplyReportDetails) => string;\n\n /** Overrides for every label the panel and its children render. Unset fields fall back to\n * literal English defaults. */\n labels?: ChatLabels;\n}\n\nfunction formatTimestamp(date: Date): string {\n const diffMs = Date.now() - date.getTime();\n const diffMinutes = Math.floor(diffMs / 60_000);\n if (diffMinutes < 1) return 'just now';\n if (diffMinutes < 60) return `${diffMinutes}m ago`;\n const diffHours = Math.floor(diffMinutes / 60);\n if (diffHours < 24) return `${diffHours}h ago`;\n return date.toLocaleDateString(undefined, { month: 'short', day: 'numeric' });\n}\n\nfunction sameMinute(a: Date, b: Date): boolean {\n return (\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate() &&\n a.getHours() === b.getHours() &&\n a.getMinutes() === b.getMinutes()\n );\n}\n\ninterface MessageRenderInfo {\n showAuthor: boolean;\n\n showTimestamp: boolean;\n}\n\nfunction computeRenderInfo(messages: ChatMessage[]): MessageRenderInfo[] {\n return messages.map((message, index) => {\n const previous = index > 0 ? messages[index - 1] : null;\n const next = index < messages.length - 1 ? messages[index + 1] : null;\n\n const showAuthor = !previous || previous.authorName !== message.authorName;\n\n const showTimestamp =\n !next ||\n next.authorName !== message.authorName ||\n !sameMinute(message.timestamp, next.timestamp);\n\n return { showAuthor, showTimestamp };\n });\n}\n\n/**\n * Composes the \"X is typing\" line from whoever the conversation is waiting on.\n * @param authors The authors currently typing or working.\n * @param labels Label overrides, as passed to {@link Chat}.\n * @returns The label to show, empty when nobody is.\n */\nfunction typingLabel(\n authors: ChatTypingAuthor[],\n labels: ChatLabels | undefined,\n): string {\n if (authors.length === 0) return '';\n if (authors.length === 1)\n return (labels?.typing ?? '{name} is typing').replace('{name}', authors[0].name);\n if (authors.length === 2)\n return (labels?.typingTwo ?? '{first} and {second} are typing')\n .replace('{first}', authors[0].name)\n .replace('{second}', authors[1].name);\n return labels?.typingSeveral ?? 'Several people are typing';\n}\n\n/**\n * The full conversation panel — messages, composer, typing indicator, and reactions. It renders\n * message bubbles, the composer row, and the typing indicator, and coordinates reactions/quick-reply/action\n * callbacks. Owns no state except the draft being typed.\n */\nexport const Chat: React.FC<ChatProps> = ({\n id,\n messages,\n onSend,\n onClose,\n title,\n autoFocus = false,\n variant = ChatVariant.Floating,\n mentionCandidates,\n resolveMentionCandidates,\n typingAuthors = [],\n currentUserId,\n onReact,\n onAct,\n canAct,\n buildAvatarUrl,\n buildReportUrl,\n labels,\n}) => {\n const icon = useCratisIcon();\n const messagesEndRef = useRef<HTMLDivElement>(null);\n const composerRef = useRef<ChatComposerHandle>(null);\n const renderInfo = useMemo(() => computeRenderInfo(messages), [messages]);\n const isDocked = variant === ChatVariant.Docked;\n const resolvedTitle = title ?? labels?.title ?? 'Comments';\n // Opt-in messaging: resolves to undefined without an Arc messenger. Publishing also requires\n // the `id` prop — without one there is nothing to key a {@link ChatMessageAdded} by.\n const publish = useOptionalMessenger();\n\n const handleSend = useCallback(\n (text: string) => {\n onSend(text);\n if (id) publish?.(new ChatMessageAdded(id, text));\n },\n [onSend, id, publish],\n );\n\n useEffect(() => {\n messagesEndRef.current?.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }, [messages, typingAuthors.length]);\n\n const quickReply = (authorName: string) =>\n composerRef.current?.prefill(`@${authorName} `);\n\n return (\n <div\n className={`chat-panel${isDocked ? ' chat-panel--docked' : ''}`}\n onClick={(event) => event.stopPropagation()}\n >\n {!isDocked && (\n <div className='chat-panel-header'>\n <span className='chat-panel-title'>{resolvedTitle}</span>\n <button\n type='button'\n className='chat-panel-close'\n onClick={onClose}\n title={labels?.close ?? 'Close'}\n aria-label={labels?.closePanel ?? 'Close panel'}\n >\n {icon('close', '×')}\n </button>\n </div>\n )}\n\n <div className='chat-panel-messages'>\n {messages.length === 0 && (\n <p className='chat-panel-empty'>\n {labels?.noComments ?? 'No comments yet. Be the first!'}\n </p>\n )}\n {messages.map((message, index) => {\n // A turn that ended in failure is not something its author said, so it never becomes\n // a bubble — it stands where the answer would have been and says so.\n if (message.failureDetail !== undefined) {\n return (\n <FailedReply\n key={message.id.toString()}\n message={message}\n buildReportUrl={buildReportUrl}\n labels={labels?.failedReply}\n />\n );\n }\n\n const { showAuthor, showTimestamp } = renderInfo[index];\n return (\n <ChatMessageBubble\n key={message.id.toString()}\n message={message}\n showAuthor={showAuthor}\n showTimestamp={showTimestamp}\n formattedTimestamp={formatTimestamp(message.timestamp)}\n currentUserId={currentUserId}\n onReact={onReact}\n onQuickReply={quickReply}\n onAct={\n onAct && (canAct?.(message) ?? true) ? onAct : undefined\n }\n buildAvatarUrl={buildAvatarUrl}\n labels={labels?.messageBubble}\n />\n );\n })}\n <TypingIndicator\n authors={typingAuthors}\n label={typingLabel(typingAuthors, labels)}\n buildAvatarUrl={buildAvatarUrl}\n />\n <div ref={messagesEndRef} />\n </div>\n\n <ChatComposer\n ref={composerRef}\n mentionCandidates={mentionCandidates}\n resolveMentionCandidates={resolveMentionCandidates}\n onSend={handleSend}\n autoFocus={autoFocus}\n buildAvatarUrl={buildAvatarUrl}\n labels={labels?.composer}\n />\n </div>\n );\n};\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatAuthorKind.js","sources":["../../../../Chat/Kit/ChatAuthorKind.ts"],"sourcesContent":[null],"names":[],"mappings":"IAOY;AAAZ,CAAA,UAAY,cAAc,EAAA;AAEtB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AAGb,IAAA,cAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACnB,CAAC,EANW,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;;"}
1
+ {"version":3,"file":"ChatAuthorKind.js","sources":["../../../../Chat/Kit/ChatAuthorKind.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/**\n * What kind of team member wrote a message. Only the author's identifier is ever stored, so the kind\n * is resolved when a conversation is rendered — it decides which avatar the message shows.\n */\nexport enum ChatAuthorKind {\n /** A message authored by an application user. */\n User = 'user',\n\n /** A message authored by an automated agent. */\n Agent = 'agent',\n}\n"],"names":[],"mappings":"IAOY;AAAZ,CAAA,UAAY,cAAc,EAAA;AAEtB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AAGb,IAAA,cAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACnB,CAAC,EANW,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;;"}
@@ -36,3 +36,4 @@ export interface ChatBubbleProps {
36
36
  * down-right, and a hover card previewing the conversation state.
37
37
  */
38
38
  export declare const ChatBubble: React.FC<ChatBubbleProps>;
39
+ //# sourceMappingURL=ChatBubble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatBubble.d.ts","sourceRoot":"","sources":["../../../../Chat/Kit/ChatBubble.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAsC,KAAK,oBAAoB,EAAE,MAAM,mBAAU,CAAC;AAgBzF;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC5B,2DAA2D;IAC3D,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IAExB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IAEnB,uDAAuD;IACvD,SAAS,EAAE,OAAO,CAAC;IAEnB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uEAAuE;IACvE,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,IAAI,CAAC;IAExB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mFAAmF;IACnF,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,uGAAuG;IACvG,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,MAAM,CAAC;CAC7D;AAED;;;;GAIG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsMhD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatBubble.js","sources":["../../../../Chat/Kit/ChatBubble.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"ChatBubble.js","sources":["../../../../Chat/Kit/ChatBubble.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type React from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport type { Guid } from '@cratis/fundamentals';\nimport { PersonAvatarCircle, getAvatarColor, type BuildAvatarUrlParams } from './Avatar';\n\nconst FONT: React.CSSProperties = { fontFamily: 'system-ui, sans-serif' };\nconst PREVIEW_AUTHOR_NAME_MAX_LENGTH = 14;\nconst PREVIEW_MESSAGE_MAX_LENGTH = 60;\n\nfunction formatTimestamp(date: Date): string {\n const diffMs = Date.now() - date.getTime();\n const diffMinutes = Math.floor(diffMs / 60_000);\n if (diffMinutes < 1) return 'just now';\n if (diffMinutes < 60) return `${diffMinutes}m ago`;\n const diffHours = Math.floor(diffMinutes / 60);\n if (diffHours < 24) return `${diffHours}h ago`;\n return date.toLocaleDateString(undefined, { month: 'short', day: 'numeric' });\n}\n\n/**\n * Props for a canvas-rendered chat bubble avatar with hover preview and optional thinking indicator.\n * Shows the author's avatar circle with an optional selection ring, animated thinking dots, and a\n * hover card previewing the conversation state.\n */\nexport interface ChatBubbleProps {\n /** The identifier of the person this bubble represents. */\n authorId: Guid | string;\n\n /** The person's display name, used for the avatar and preview. */\n authorName: string;\n\n /** Whether the person has an uploaded avatar image. */\n hasAvatar: boolean;\n\n /** The avatar circle's diameter in pixels. Defaults to `56`. */\n size?: number;\n\n /** Whether to suppress the hover preview card. Defaults to `false`. */\n suppressPreview?: boolean;\n\n /** The most recent message text shown in the preview. */\n previewMessage?: string;\n\n /** The timestamp of the most recent message shown in the preview. */\n previewTimestamp?: Date;\n\n /** The number of replies shown in the preview. */\n replyCount?: number;\n\n /** Whether to show the animated thinking-bubble indicator. Defaults to `false`. */\n showThinkingBubbles?: boolean;\n\n /** Whether to show the selection ring around the avatar. Defaults to `false`. */\n selected?: boolean;\n\n /** Builds the avatar image URL. Omit to always show initials — see {@link PersonAvatarCircleProps}. */\n buildAvatarUrl?: (params: BuildAvatarUrlParams) => string;\n}\n\n/**\n * A canvas-rendered chat bubble avatar with hover preview and optional thinking indicator. Shows\n * the author's avatar circle with an optional selection ring, animated thinking dots trailing\n * down-right, and a hover card previewing the conversation state.\n */\nexport const ChatBubble: React.FC<ChatBubbleProps> = ({\n authorId,\n authorName,\n hasAvatar,\n size = 56,\n suppressPreview = false,\n previewMessage,\n previewTimestamp,\n replyCount,\n showThinkingBubbles = false,\n selected = false,\n buildAvatarUrl,\n}) => {\n const [isHovered, setIsHovered] = useState(false);\n // The thinking dots always use the person's deterministic color, even when an avatar image is\n // shown, so they stay visually tied to the person rather than picking up an unrelated color.\n const color = getAvatarColor(authorId.toString());\n\n // Thinking-bubble animation state\n const [dotsVisible, setDotsVisible] = useState(showThinkingBubbles);\n const [dotsExiting, setDotsExiting] = useState(false);\n const previousShowBubbles = useRef(false);\n\n useEffect(() => {\n if (showThinkingBubbles && !previousShowBubbles.current) {\n setDotsExiting(false);\n setDotsVisible(true);\n } else if (!showThinkingBubbles && previousShowBubbles.current) {\n setDotsExiting(true);\n }\n previousShowBubbles.current = showThinkingBubbles;\n }, [showThinkingBubbles]);\n\n const handleDotsAnimationEnd = () => {\n if (dotsExiting) {\n setDotsVisible(false);\n setDotsExiting(false);\n }\n };\n\n const dotSize1 = Math.max(8, Math.round(size * 0.2));\n const dotSize2 = Math.max(5, Math.round(size * 0.12));\n\n return (\n <div\n style={{ position: 'relative', width: size, height: size }}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n >\n {/* Avatar circle */}\n <div\n style={{\n width: size,\n height: size,\n borderRadius: '50%',\n boxShadow: selected\n ? `inset 0 0 0 3px var(--cratis-primary-color), 0 4px 12px rgba(0, 0, 0, 0.22)`\n : '0 4px 12px rgba(0, 0, 0, 0.22)',\n position: 'relative',\n }}\n >\n <PersonAvatarCircle\n userId={authorId}\n name={authorName}\n hasAvatar={hasAvatar}\n size={size}\n avatarSize='Medium'\n buildAvatarUrl={buildAvatarUrl}\n />\n </div>\n\n {/* Animated thinking bubbles trailing down-right */}\n {dotsVisible && (\n <div\n className={`thinking-bubbles ${dotsExiting ? 'thinking-bubbles--exiting' : 'thinking-bubbles--entering'}`}\n onAnimationEnd={handleDotsAnimationEnd}\n aria-hidden='true'\n >\n <div\n className='thinking-dot thinking-dot--1'\n style={{\n width: dotSize1,\n height: dotSize1,\n background: color,\n top: Math.round(size * 0.94),\n left: Math.round(size * 0.82),\n }}\n />\n <div\n className='thinking-dot thinking-dot--2'\n style={{\n width: dotSize2,\n height: dotSize2,\n background: color,\n top: Math.round(size * 1.22),\n left: Math.round(size * 1.02),\n }}\n />\n </div>\n )}\n\n {/* Hover preview card */}\n {isHovered && !suppressPreview && (\n <div\n style={{\n position: 'absolute',\n top: '50%',\n left: '100%',\n marginLeft: 14,\n transform: 'translateY(-50%)',\n width: 224,\n background: 'var(--cratis-surface-card)',\n border: '1px solid var(--cratis-surface-border)',\n borderRadius: 10,\n boxShadow: '0 8px 24px rgba(0, 0, 0, 0.14)',\n padding: '10px 12px',\n display: 'flex',\n gap: 10,\n alignItems: 'flex-start',\n pointerEvents: 'none',\n zIndex: 9999,\n }}\n >\n {/* Avatar in preview */}\n <PersonAvatarCircle\n userId={authorId}\n name={authorName}\n hasAvatar={hasAvatar}\n size={30}\n buildAvatarUrl={buildAvatarUrl}\n />\n\n {/* Text content */}\n <div style={{ flex: 1, minWidth: 0 }}>\n <div\n style={{\n display: 'flex',\n alignItems: 'baseline',\n gap: 6,\n marginBottom: 3,\n flexWrap: 'wrap',\n }}\n >\n <span\n style={{\n ...FONT,\n fontSize: 12,\n fontWeight: 600,\n color: 'var(--cratis-text-color)',\n }}\n >\n {authorName.length > PREVIEW_AUTHOR_NAME_MAX_LENGTH\n ? `${authorName.slice(0, PREVIEW_AUTHOR_NAME_MAX_LENGTH)}…`\n : authorName}\n </span>\n {previewTimestamp && (\n <span\n style={{\n ...FONT,\n fontSize: 10,\n color: 'var(--cratis-text-color-secondary)',\n }}\n >\n {formatTimestamp(previewTimestamp)}\n </span>\n )}\n </div>\n <p\n style={{\n ...FONT,\n fontSize: 11,\n color: 'var(--cratis-text-color)',\n margin: '0 0 6px',\n lineHeight: 1.4,\n }}\n >\n {previewMessage\n ? previewMessage.length > PREVIEW_MESSAGE_MAX_LENGTH\n ? `${previewMessage.slice(0, PREVIEW_MESSAGE_MAX_LENGTH)}…`\n : previewMessage\n : 'No messages yet'}\n </p>\n {replyCount !== undefined && replyCount > 0 && (\n <span\n style={{\n ...FONT,\n fontSize: 10,\n color: 'var(--cratis-primary-color)',\n }}\n >\n {replyCount === 1 ? '1 reply' : `${replyCount} replies`}\n </span>\n )}\n </div>\n </div>\n )}\n </div>\n );\n};\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;AAQA,MAAM,IAAI,GAAwB,EAAE,UAAU,EAAE,uBAAuB,EAAE;AACzE,MAAM,8BAA8B,GAAG,EAAE;AACzC,MAAM,0BAA0B,GAAG,EAAE;AAErC,SAAS,eAAe,CAAC,IAAU,EAAA;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE;IAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAC/C,IAAI,WAAW,GAAG,CAAC;AAAE,QAAA,OAAO,UAAU;IACtC,IAAI,WAAW,GAAG,EAAE;QAAE,OAAO,CAAA,EAAG,WAAW,CAAA,KAAA,CAAO;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;IAC9C,IAAI,SAAS,GAAG,EAAE;QAAE,OAAO,CAAA,EAAG,SAAS,CAAA,KAAA,CAAO;AAC9C,IAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AACjF;AA+CO,MAAM,UAAU,GAA8B,CAAC,EAClD,QAAQ,EACR,UAAU,EACV,SAAS,EACT,IAAI,GAAG,EAAE,EACT,eAAe,GAAG,KAAK,EACvB,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,mBAAmB,GAAG,KAAK,EAC3B,QAAQ,GAAG,KAAK,EAChB,cAAc,GACjB,KAAI;IACD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAGjD,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAGjD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC;IACnE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AACrD,IAAA,MAAM,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAC;IAEzC,SAAS,CAAC,MAAK;AACX,QAAA,IAAI,mBAAmB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE;YACrD,cAAc,CAAC,KAAK,CAAC;YACrB,cAAc,CAAC,IAAI,CAAC;QACxB;AAAO,aAAA,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,OAAO,EAAE;YAC5D,cAAc,CAAC,IAAI,CAAC;QACxB;AACA,QAAA,mBAAmB,CAAC,OAAO,GAAG,mBAAmB;AACrD,IAAA,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAEzB,MAAM,sBAAsB,GAAG,MAAK;QAChC,IAAI,WAAW,EAAE;YACb,cAAc,CAAC,KAAK,CAAC;YACrB,cAAc,CAAC,KAAK,CAAC;QACzB;AACJ,IAAA,CAAC;AAED,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AACpD,IAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;AAErD,IAAA,QACIA,IAAA,CAAA,KAAA,EAAA,EACI,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAC1D,YAAY,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,EACtC,YAAY,EAAE,MAAM,YAAY,CAAC,KAAK,CAAC,EAAA,QAAA,EAAA,CAGvCC,GAAA,CAAA,KAAA,EAAA,EACI,KAAK,EAAE;AACH,oBAAA,KAAK,EAAE,IAAI;AACX,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,YAAY,EAAE,KAAK;AACnB,oBAAA,SAAS,EAAE;AACP,0BAAE,CAAA,2EAAA;AACF,0BAAE,gCAAgC;AACtC,oBAAA,QAAQ,EAAE,UAAU;iBACvB,EAAA,QAAA,EAEDA,GAAA,CAAC,kBAAkB,EAAA,EACf,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAE,cAAc,EAAA,CAChC,EAAA,CACA,EAGL,WAAW,KACRD,IAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,CAAA,iBAAA,EAAoB,WAAW,GAAG,2BAA2B,GAAG,4BAA4B,CAAA,CAAE,EACzG,cAAc,EAAE,sBAAsB,EAAA,aAAA,EAC1B,MAAM,EAAA,QAAA,EAAA,CAElBC,GAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAC,8BAA8B,EACxC,KAAK,EAAE;AACH,4BAAA,KAAK,EAAE,QAAQ;AACf,4BAAA,MAAM,EAAE,QAAQ;AAChB,4BAAA,UAAU,EAAE,KAAK;4BACjB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;4BAC5B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;AAChC,yBAAA,EAAA,CACH,EACFA,GAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAC,8BAA8B,EACxC,KAAK,EAAE;AACH,4BAAA,KAAK,EAAE,QAAQ;AACf,4BAAA,MAAM,EAAE,QAAQ;AAChB,4BAAA,UAAU,EAAE,KAAK;4BACjB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;4BAC5B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;yBAChC,EAAA,CACH,CAAA,EAAA,CACA,CACT,EAGA,SAAS,IAAI,CAAC,eAAe,KAC1BD,IAAA,CAAA,KAAA,EAAA,EACI,KAAK,EAAE;AACH,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,GAAG,EAAE,KAAK;AACV,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,UAAU,EAAE,EAAE;AACd,oBAAA,SAAS,EAAE,kBAAkB;AAC7B,oBAAA,KAAK,EAAE,GAAG;AACV,oBAAA,UAAU,EAAE,4BAA4B;AACxC,oBAAA,MAAM,EAAE,wCAAwC;AAChD,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,SAAS,EAAE,gCAAgC;AAC3C,oBAAA,OAAO,EAAE,WAAW;AACpB,oBAAA,OAAO,EAAE,MAAM;AACf,oBAAA,GAAG,EAAE,EAAE;AACP,oBAAA,UAAU,EAAE,YAAY;AACxB,oBAAA,aAAa,EAAE,MAAM;AACrB,oBAAA,MAAM,EAAE,IAAI;AACf,iBAAA,EAAA,QAAA,EAAA,CAGDC,IAAC,kBAAkB,EAAA,EACf,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,EAAE,EACR,cAAc,EAAE,cAAc,EAAA,CAChC,EAGFD,cAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAA,QAAA,EAAA,CAChCA,IAAA,CAAA,KAAA,EAAA,EACI,KAAK,EAAE;AACH,oCAAA,OAAO,EAAE,MAAM;AACf,oCAAA,UAAU,EAAE,UAAU;AACtB,oCAAA,GAAG,EAAE,CAAC;AACN,oCAAA,YAAY,EAAE,CAAC;AACf,oCAAA,QAAQ,EAAE,MAAM;iCACnB,EAAA,QAAA,EAAA,CAEDC,GAAA,CAAA,MAAA,EAAA,EACI,KAAK,EAAE;AACH,4CAAA,GAAG,IAAI;AACP,4CAAA,QAAQ,EAAE,EAAE;AACZ,4CAAA,UAAU,EAAE,GAAG;AACf,4CAAA,KAAK,EAAE,0BAA0B;AACpC,yCAAA,EAAA,QAAA,EAEA,UAAU,CAAC,MAAM,GAAG;8CACf,CAAA,EAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,8BAA8B,CAAC,CAAA,CAAA;8CACtD,UAAU,EAAA,CACb,EACN,gBAAgB,KACbA,GAAA,CAAA,MAAA,EAAA,EACI,KAAK,EAAE;AACH,4CAAA,GAAG,IAAI;AACP,4CAAA,QAAQ,EAAE,EAAE;AACZ,4CAAA,KAAK,EAAE,oCAAoC;yCAC9C,EAAA,QAAA,EAEA,eAAe,CAAC,gBAAgB,CAAC,EAAA,CAC/B,CACV,CAAA,EAAA,CACC,EACNA,GAAA,CAAA,GAAA,EAAA,EACI,KAAK,EAAE;AACH,oCAAA,GAAG,IAAI;AACP,oCAAA,QAAQ,EAAE,EAAE;AACZ,oCAAA,KAAK,EAAE,0BAA0B;AACjC,oCAAA,MAAM,EAAE,SAAS;AACjB,oCAAA,UAAU,EAAE,GAAG;AAClB,iCAAA,EAAA,QAAA,EAEA;AACG,sCAAE,cAAc,CAAC,MAAM,GAAG;0CACpB,CAAA,EAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAA,CAAA;AACxD,0CAAE;AACN,sCAAE,iBAAiB,EAAA,CACvB,EACH,UAAU,KAAK,SAAS,IAAI,UAAU,GAAG,CAAC,KACvCA,GAAA,CAAA,MAAA,EAAA,EACI,KAAK,EAAE;AACH,oCAAA,GAAG,IAAI;AACP,oCAAA,QAAQ,EAAE,EAAE;AACZ,oCAAA,KAAK,EAAE,6BAA6B;iCACvC,EAAA,QAAA,EAEA,UAAU,KAAK,CAAC,GAAG,SAAS,GAAG,GAAG,UAAU,CAAA,QAAA,CAAU,GACpD,CACV,CAAA,EAAA,CACC,IACJ,CACT,CAAA,EAAA,CACC;AAEd;;"}
@@ -62,3 +62,4 @@ export interface ChatComposerHandle {
62
62
  * button. It owns the draft so the surrounding panel stays a renderer of messages.
63
63
  */
64
64
  export declare const ChatComposer: React.ForwardRefExoticComponent<ChatComposerProps & React.RefAttributes<ChatComposerHandle>>;
65
+ //# sourceMappingURL=ChatComposer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../../../Chat/Kit/ChatComposer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAU,CAAC;AAKrD,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,qBAAY,CAAC;AACvE,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,qBAAkB,CAAC;AAE7E;eACe;AACf,MAAM,WAAW,kBAAkB;IAC/B,8FAA8F;IAC9F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0FAA0F;IAC1F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAEvC;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAE,CACvB,KAAK,EAAE,MAAM,KACZ,gBAAgB,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAEtD;;;;OAIG;IACH,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,IAAI,CAAC;IAE7D,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,wFAAwF;IACxF,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,MAAM,CAAC;IAE1D,+FAA+F;IAC/F,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B,2EAA2E;IAC3E,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,8FAmRxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatComposer.js","sources":["../../../../Chat/Kit/ChatComposer.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"ChatComposer.js","sources":["../../../../Chat/Kit/ChatComposer.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type React from 'react';\nimport { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { AnchoredOverlay } from './AnchoredOverlay';\nimport type { BuildAvatarUrlParams } from './Avatar';\nimport { activeMentionQuery } from './Mentions/activeMentionQuery';\nimport { applyMention } from './Mentions/applyMention';\nimport { extractMentions } from './Mentions/extractMentions';\nimport { matchCandidates } from './Mentions/matchCandidates';\nimport { MentionSuggestions, type MentionCandidate } from './Mentions';\nimport { ReactionPicker, type ReactionPickerLabels } from './ReactionPicker';\n\n/** Overrides for the composer's own labels. Any field left unset falls back to a literal English\n * default. */\nexport interface ChatComposerLabels {\n /** Placeholder text for the draft input. Defaults to `'Write a message… (Enter to send)'`. */\n placeholder?: string;\n /** Tooltip/accessible label for the emoji-insert toggle. Defaults to `'Insert emoji'`. */\n insertEmoji?: string;\n /** Tooltip for the send button. Defaults to `'Send'`. */\n send?: string;\n /** Accessible label for the send button. Defaults to `'Send message'`. */\n sendMessage?: string;\n /** Labels forwarded to the emoji-insert {@link ReactionPicker}. */\n reactionPicker?: ReactionPickerLabels;\n}\n\n/**\n * Props for the compose row of a conversation — the text area, the `@` mention list it opens, and\n * the send button. It owns the draft so the surrounding panel stays a renderer of messages.\n */\nexport interface ChatComposerProps {\n /** Everyone who can be mentioned from this conversation. Omit to turn mentions off. */\n mentionCandidates?: MentionCandidate[];\n\n /**\n * Resolves who can be mentioned as the person types, invoked with what has been typed after\n * the `@` — for hosts whose candidates come from a lookup rather than a list they already\n * hold. May answer synchronously or with a promise; a stale answer (one that arrives after\n * the query has moved on) is dropped. Combines with {@link mentionCandidates} when both are\n * given.\n * @param query What has been typed after the `@`.\n * @returns The candidates matching the query.\n */\n resolveMentionCandidates?: (\n query: string,\n ) => MentionCandidate[] | Promise<MentionCandidate[]>;\n\n /**\n * Invoked with the trimmed message text when the user sends, together with who that text\n * actually mentions — reduced from every candidate the draft saw, so a mention that was\n * picked but edited away again does not count.\n */\n onSend: (text: string, mentions: MentionCandidate[]) => void;\n\n /** Whether to take focus when mounted. */\n autoFocus?: boolean;\n\n /** Disables drafting, emoji insertion, and sending. Defaults to false. */\n disabled?: boolean;\n\n /** Builds the avatar image URL for mention candidates. Omit to always show initials. */\n buildAvatarUrl?: (params: BuildAvatarUrlParams) => string;\n\n /** Overrides for the composer's labels. Unset fields fall back to literal English defaults. */\n labels?: ChatComposerLabels;\n}\n\n/**\n * Imperative actions a caller can drive on the composer without owning its draft state — used by a\n * quick reply, which sets the starting text for whatever the person types next rather than sending\n * anything itself.\n */\nexport interface ChatComposerHandle {\n /** Replaces the current draft and takes focus, caret placed at the end. */\n prefill: (text: string) => void;\n}\n\n/**\n * The compose row of a conversation — the text area, the `@` mention list it opens, and the send\n * button. It owns the draft so the surrounding panel stays a renderer of messages.\n */\nexport const ChatComposer = forwardRef<ChatComposerHandle, ChatComposerProps>(\n (\n {\n mentionCandidates,\n resolveMentionCandidates,\n onSend,\n autoFocus = false,\n disabled = false,\n buildAvatarUrl,\n labels,\n },\n handleRef,\n ) => {\n const [draft, setDraft] = useState({ text: '', caret: 0 });\n const [highlightedIndex, setHighlightedIndex] = useState(0);\n const [showEmojiPicker, setShowEmojiPicker] = useState(false);\n const [resolvedCandidates, setResolvedCandidates] = useState<MentionCandidate[]>(\n [],\n );\n const inputRef = useRef<HTMLTextAreaElement>(null);\n const didAutoFocus = useRef(false);\n const emojiButtonRef = useRef<HTMLButtonElement>(null);\n // Every candidate this draft has seen — resolved or picked — so the mentions reported on\n // send can be found again even when the resolver's latest answer no longer includes them.\n const seenCandidatesRef = useRef(new Map<string, MentionCandidate>());\n\n const mentionsEnabled = !!mentionCandidates || !!resolveMentionCandidates;\n const query = mentionsEnabled\n ? activeMentionQuery(draft.text, draft.caret)\n : null;\n const queryText = query?.text;\n\n useEffect(() => {\n if (!resolveMentionCandidates || queryText === undefined) {\n setResolvedCandidates((previous) =>\n previous.length === 0 ? previous : [],\n );\n return;\n }\n let cancelled = false;\n Promise.resolve(resolveMentionCandidates(queryText))\n .then((candidates) => {\n if (cancelled) return;\n setResolvedCandidates(candidates);\n candidates.forEach((candidate) =>\n seenCandidatesRef.current.set(candidate.id, candidate),\n );\n })\n .catch(() => {\n if (!cancelled) {\n setResolvedCandidates([]);\n }\n });\n return () => {\n cancelled = true;\n };\n }, [resolveMentionCandidates, queryText]);\n\n const uniqueById = (candidates: MentionCandidate[]): MentionCandidate[] => {\n const byId = new Map<string, MentionCandidate>();\n candidates.forEach((candidate) => {\n if (!byId.has(candidate.id)) {\n byId.set(candidate.id, candidate);\n }\n });\n return [...byId.values()];\n };\n\n const candidatePool = uniqueById([\n ...(mentionCandidates ?? []),\n ...resolvedCandidates,\n ]);\n // A query that ends in whitespace and spells a candidate's full name is a mention already\n // made — the trailing space applyMention writes is its closing. Without this, Enter right\n // after picking would re-pick the same name instead of sending the message.\n const queryIsCompleteMention =\n query !== null &&\n /\\s$/.test(query.text) &&\n candidatePool.some(\n (candidate) =>\n candidate.name.toLowerCase() === query.text.trim().toLowerCase(),\n );\n const suggestions =\n query && !queryIsCompleteMention\n ? matchCandidates(candidatePool, query.text)\n : [];\n const isSuggesting = !disabled && suggestions.length > 0;\n const highlighted = Math.min(highlightedIndex, suggestions.length - 1);\n\n useEffect(() => {\n if (autoFocus && !disabled && !didAutoFocus.current && inputRef.current) {\n inputRef.current.focus();\n didAutoFocus.current = true;\n }\n }, [autoFocus, disabled]);\n\n useEffect(() => {\n if (disabled) {\n setShowEmojiPicker(false);\n }\n }, [disabled]);\n\n useImperativeHandle(\n handleRef,\n () => ({\n prefill: (text: string) => {\n setDraft({ text, caret: text.length });\n requestAnimationFrame(() => {\n inputRef.current?.focus();\n inputRef.current?.setSelectionRange(text.length, text.length);\n });\n },\n }),\n [],\n );\n\n const readDraft = (element: HTMLTextAreaElement) => {\n const text = element.value;\n // Only editing the text restarts the selection. Resetting on every key event would undo the\n // arrow-key navigation on the very next keyup.\n if (text !== draft.text) {\n setHighlightedIndex(0);\n }\n setDraft({ text, caret: element.selectionStart ?? text.length });\n };\n\n const send = () => {\n const trimmed = draft.text.trim();\n if (!trimmed || disabled) return;\n const known = uniqueById([\n ...(mentionCandidates ?? []),\n ...seenCandidatesRef.current.values(),\n ]);\n onSend(trimmed, extractMentions(trimmed, known));\n seenCandidatesRef.current.clear();\n setDraft({ text: '', caret: 0 });\n };\n\n const choose = (candidate: MentionCandidate) => {\n if (!query) return;\n seenCandidatesRef.current.set(candidate.id, candidate);\n const applied = applyMention(draft.text, draft.caret, query, candidate.name);\n setDraft(applied);\n setHighlightedIndex(0);\n // The caret has to be restored after React has written the new value back into the element.\n requestAnimationFrame(() =>\n inputRef.current?.setSelectionRange(applied.caret, applied.caret),\n );\n inputRef.current?.focus();\n };\n\n const insertEmoji = (emoji: string) => {\n const text = `${draft.text.slice(0, draft.caret)}${emoji}${draft.text.slice(draft.caret)}`;\n const caret = draft.caret + emoji.length;\n setDraft({ text, caret });\n setShowEmojiPicker(false);\n // Same restore-after-write pattern as choose() above — React has to write the new value in\n // before the caret can be placed past the emoji it inserted.\n requestAnimationFrame(() => {\n inputRef.current?.focus();\n inputRef.current?.setSelectionRange(caret, caret);\n });\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (isSuggesting) {\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n const step = event.key === 'ArrowDown' ? 1 : suggestions.length - 1;\n setHighlightedIndex((highlighted + step) % suggestions.length);\n return;\n }\n\n if (event.key === 'Enter' || event.key === 'Tab') {\n event.preventDefault();\n choose(suggestions[highlighted]);\n return;\n }\n\n if (event.key === 'Escape') {\n event.preventDefault();\n // Closing the list without changing the text: move the caret past the mention so the\n // query no longer resolves.\n setDraft((previous) => ({\n ...previous,\n caret: previous.text.length,\n }));\n return;\n }\n }\n\n if (event.key === 'Enter' && !event.shiftKey) {\n event.preventDefault();\n send();\n }\n };\n\n return (\n <div className='chat-composer'>\n {isSuggesting && (\n <MentionSuggestions\n candidates={suggestions}\n highlightedIndex={highlighted}\n onSelect={choose}\n onHighlight={setHighlightedIndex}\n buildAvatarUrl={buildAvatarUrl}\n />\n )}\n <textarea\n ref={inputRef}\n className='chat-composer__input'\n value={draft.text}\n onChange={(event) => readDraft(event.target)}\n onKeyUp={(event) => readDraft(event.currentTarget)}\n onClick={(event) => readDraft(event.currentTarget)}\n onKeyDown={handleKeyDown}\n placeholder={\n labels?.placeholder ?? 'Write a message… (Enter to send)'\n }\n rows={2}\n disabled={disabled}\n />\n <button\n ref={emojiButtonRef}\n type='button'\n className='chat-composer__emoji-toggle'\n disabled={disabled}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => setShowEmojiPicker((previous) => !previous)}\n title={labels?.insertEmoji ?? 'Insert emoji'}\n aria-label={labels?.insertEmoji ?? 'Insert emoji'}\n aria-expanded={showEmojiPicker}\n >\n ☺\n </button>\n <button\n type='button'\n className='chat-composer__send'\n onClick={send}\n disabled={disabled || !draft.text.trim()}\n title={labels?.send ?? 'Send'}\n aria-label={labels?.sendMessage ?? 'Send message'}\n >\n <svg\n width='16'\n height='16'\n viewBox='0 0 24 24'\n fill='none'\n stroke='currentColor'\n strokeWidth='2.5'\n aria-hidden='true'\n >\n <line x1='22' y1='2' x2='11' y2='13' />\n <polygon points='22 2 15 22 11 13 2 9 22 2' />\n </svg>\n </button>\n {/* Portaled to <body>, same reason as the reaction picker on a message bubble: the chat\n panel scrolls/clips, so a picker positioned inside it would be cut off at the edge. */}\n <AnchoredOverlay\n anchorRef={emojiButtonRef}\n open={showEmojiPicker && !disabled}\n side='above'\n align='right'\n gap={6}\n >\n <ReactionPicker\n anchorRef={emojiButtonRef}\n onPick={insertEmoji}\n onDismiss={() => setShowEmojiPicker(false)}\n labels={labels?.reactionPicker}\n />\n </AnchoredOverlay>\n </div>\n );\n },\n);\nChatComposer.displayName = 'ChatComposer';\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -40,3 +40,4 @@ export interface ChatMessage {
40
40
  */
41
41
  reactions?: ChatMessageReaction[];
42
42
  }
43
+ //# sourceMappingURL=ChatMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../../../Chat/Kit/ChatMessage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAAuB,CAAC;AAEjE;;;;GAIG;AACH,MAAM,WAAW,WAAW;IACxB,+BAA+B;IAC/B,EAAE,EAAE,IAAI,CAAC;IAET,mEAAmE;IACnE,QAAQ,EAAE,IAAI,CAAC;IAEf,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IAEnB,uDAAuD;IACvD,cAAc,EAAE,MAAM,CAAC;IAEvB,uDAAuD;IACvD,SAAS,EAAE,OAAO,CAAC;IAEnB,6FAA6F;IAC7F,UAAU,EAAE,cAAc,CAAC;IAE3B,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IAEb,iCAAiC;IACjC,SAAS,EAAE,IAAI,CAAC;IAEhB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../../../Chat/Kit/ChatMessage.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
1
+ {"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../../../Chat/Kit/ChatMessage.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { Guid } from '@cratis/fundamentals';\nimport { ChatAuthorKind } from './ChatAuthorKind';\nimport type { ChatMessageReaction } from './ChatMessageReaction';\n\n/**\n * One message in a conversation, carrying who said it, what was said, when it was said, and optional\n * reactions. A message whose {@link failureDetail} is set renders as a failure line rather than as\n * something its author said.\n */\nexport interface ChatMessage {\n /** Stable message identity. */\n id: Guid;\n\n /** The identifier of the person or agent who wrote the message. */\n authorId: Guid;\n\n /** The author's display name. */\n authorName: string;\n\n /** The author's initials, used for avatar fallback. */\n authorInitials: string;\n\n /** Whether the author has an uploaded avatar image. */\n hasAvatar: boolean;\n\n /** Whether a person or an agent wrote it, which decides where the avatar is fetched from. */\n authorKind: ChatAuthorKind;\n\n /** The message text. */\n text: string;\n\n /** When the message was sent. */\n timestamp: Date;\n\n /**\n * Set when the turn ended in failure instead of an answer, holding the reason behind it. Such a\n * message renders as a failure line rather than as something its author said.\n */\n failureDetail?: string;\n\n /**\n * Set when the turn carried the work out rather than only describing it — the agent was asked to\n * change something and went and changed it. Such a message needs no additional action offer.\n */\n didAct?: boolean;\n\n /**\n * The quick emoji reactions given to this message, grouped by emoji. Omitted entirely for a\n * conversation that does not support reactions, which keeps the reaction affordance off a bubble\n * whose backend cannot yet record one.\n */\n reactions?: ChatMessageReaction[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessageAdded.js","sources":["../../../../Chat/Kit/ChatMessageAdded.ts"],"sourcesContent":[null],"names":[],"mappings":"MAQa,gBAAgB,CAAA;AAGZ,IAAA,MAAA;AAEA,IAAA,IAAA;IAJb,WAAA,CAEa,MAAc,EAEd,IAAY,EAAA;QAFZ,IAAA,CAAA,MAAM,GAAN,MAAM;QAEN,IAAA,CAAA,IAAI,GAAJ,IAAI;IACd;AACN;;"}
1
+ {"version":3,"file":"ChatMessageAdded.js","sources":["../../../../Chat/Kit/ChatMessageAdded.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/**\n * Published over the Arc messenger by a {@link Chat} when its composer sends a message — the same\n * moment the `onSend` callback fires. Only published when the chat was given an `id`; a chat without\n * one has nothing to key the message by and stays silent.\n */\nexport class ChatMessageAdded {\n constructor(\n /** Caller-owned identity of the conversation that accepted the message. */\n readonly chatId: string,\n /** Full text submitted by the composer. */\n readonly text: string,\n ) {}\n}\n"],"names":[],"mappings":"MAQa,gBAAgB,CAAA;AAGZ,IAAA,MAAA;AAEA,IAAA,IAAA;IAJb,WAAA,CAEa,MAAc,EAEd,IAAY,EAAA;QAFZ,IAAA,CAAA,MAAM,GAAN,MAAM;QAEN,IAAA,CAAA,IAAI,GAAJ,IAAI;IACd;AACN;;"}
@@ -58,3 +58,4 @@ export interface ChatMessageBubbleProps {
58
58
  * a conversation that does not pass it renders exactly as it did before reactions existed.
59
59
  */
60
60
  export declare const ChatMessageBubble: ({ message, showAuthor, showTimestamp, formattedTimestamp, currentUserId, onReact, onQuickReply, onAct, buildAvatarUrl, labels, }: ChatMessageBubbleProps) => import("react").JSX.Element;
61
+ //# sourceMappingURL=ChatMessageBubble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessageBubble.d.ts","sourceRoot":"","sources":["../../../../Chat/Kit/ChatMessageBubble.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAsB,KAAK,oBAAoB,EAAE,MAAM,mBAAU,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAe,CAAC;AAGjD,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,qBAAkB,CAAC;AAI7E;iFACiF;AACjF,MAAM,WAAW,uBAAuB;IACpC;wCACoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;oCACgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4FAA4F;IAC5F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;mCAC+B;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC,6BAA6B;IAC7B,OAAO,EAAE,WAAW,CAAC;IAErB,0FAA0F;IAC1F,UAAU,EAAE,OAAO,CAAC;IAEpB,uDAAuD;IACvD,aAAa,EAAE,OAAO,CAAC;IAEvB,qFAAqF;IACrF,kBAAkB,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,IAAI,CAAC;IAErB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnD,uFAAuF;IACvF,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAE5C;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,KAAK,IAAI,CAAC;IAElC,iEAAiE;IACjE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,MAAM,CAAC;IAE1D,6FAA6F;IAC7F,MAAM,CAAC,EAAE,uBAAuB,CAAC;CACpC;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,qIAW3B,sBAAsB,gCAkIxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessageBubble.js","sources":["../../../../Chat/Kit/ChatMessageBubble.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"ChatMessageBubble.js","sources":["../../../../Chat/Kit/ChatMessageBubble.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { useRef, useState } from 'react';\nimport type { Guid } from '@cratis/fundamentals';\nimport { AnchoredOverlay } from './AnchoredOverlay';\nimport { PersonAvatarCircle, type BuildAvatarUrlParams } from './Avatar';\nimport { ChatAuthorKind } from './ChatAuthorKind';\nimport type { ChatMessage } from './ChatMessage';\nimport { findOwnReaction } from './findOwnReaction';\nimport { MessageReactions } from './MessageReactions';\nimport { ReactionPicker, type ReactionPickerLabels } from './ReactionPicker';\nimport { reactionsExcludingUser } from './reactionsExcludingUser';\nimport { FaBolt, FaReply } from 'react-icons/fa6';\n\n/** Overrides for the bubble's own labels. Any field left unset falls back to a literal English\n * default. `{emoji}`/`{name}` placeholders are substituted by the component. */\nexport interface ChatMessageBubbleLabels {\n /** Tooltip/accessible label when the viewer has already reacted. Defaults to\n * `'You reacted with {emoji}'`. */\n yourReaction?: string;\n /** Tooltip/accessible label for the reaction button before reacting. Defaults to\n * `'Add a quick reaction'`. */\n addReaction?: string;\n /** Tooltip/accessible label for the quick-reply button. Defaults to `'Reply to {name}'`. */\n quickReplyTo?: string;\n /** Tooltip/accessible label for the \"turn into an action\" button. Defaults to\n * `'Turn into an action'`. */\n convertToAction?: string;\n /** Labels forwarded to the reaction {@link ReactionPicker}. */\n reactionPicker?: ReactionPickerLabels;\n}\n\n/**\n * Props for one message bubble in a conversation, with optional quick-reaction and quick-reply\n * affordances. The affordances are opt-in via {@link currentUserId} — a conversation that does not\n * pass it renders exactly as it did before reactions existed.\n */\nexport interface ChatMessageBubbleProps {\n /** The message to render. */\n message: ChatMessage;\n\n /** Whether to show the author row above the message — false for a continuation bubble. */\n showAuthor: boolean;\n\n /** Whether to show the timestamp below the message. */\n showTimestamp: boolean;\n\n /** The formatted relative timestamp to render when {@link showTimestamp} is true. */\n formattedTimestamp: string;\n\n /**\n * The identifier of whoever is looking at the conversation. Reactions and quick reply are only\n * offered when this is given — a conversation whose backend cannot yet record a reaction simply\n * does not render the affordance.\n */\n currentUserId?: Guid;\n\n /** Invoked with the emoji picked for this message, whether given, changed, or taken back. */\n onReact?: (messageId: Guid, emoji: string) => void;\n\n /** Invoked to prefill the composer with a reply addressed to this message's author. */\n onQuickReply?: (authorName: string) => void;\n\n /**\n * Invoked to ask for what this message asks for to be carried out. Omit to leave the affordance off.\n */\n onAct?: (messageId: Guid) => void;\n\n /** Builds the avatar image URL. Omit to always show initials. */\n buildAvatarUrl?: (params: BuildAvatarUrlParams) => string;\n\n /** Overrides for the bubble's labels. Unset fields fall back to literal English defaults. */\n labels?: ChatMessageBubbleLabels;\n}\n\n/**\n * One message in a conversation, with the optional quick-reaction and quick-reply affordances a\n * conversation may offer. The affordances are opt-in via {@link ChatMessageBubbleProps.currentUserId} —\n * a conversation that does not pass it renders exactly as it did before reactions existed.\n */\nexport const ChatMessageBubble = ({\n message,\n showAuthor,\n showTimestamp,\n formattedTimestamp,\n currentUserId,\n onReact,\n onQuickReply,\n onAct,\n buildAvatarUrl,\n labels,\n}: ChatMessageBubbleProps) => {\n const [pickerOpen, setPickerOpen] = useState(false);\n const reactionButtonRef = useRef<HTMLButtonElement>(null);\n const supportsReactions = !!currentUserId && !!onReact;\n const showActionsRow = supportsReactions || !!onQuickReply || !!onAct;\n const ownReaction = supportsReactions\n ? findOwnReaction(message.reactions, currentUserId)\n : undefined;\n const otherReactions = supportsReactions\n ? reactionsExcludingUser(message.reactions, currentUserId)\n : [];\n\n const pick = (emoji: string) => {\n setPickerOpen(false);\n onReact?.(message.id, emoji);\n };\n\n return (\n <div className={`chat-bubble${showAuthor ? '' : ' chat-bubble--continuation'}`}>\n {showAuthor && (\n <div className='chat-bubble-author'>\n <PersonAvatarCircle\n userId={message.authorId}\n name={message.authorName}\n hasAvatar={message.hasAvatar}\n size={22}\n ownerType={\n message.authorKind === ChatAuthorKind.Agent\n ? 'Agents'\n : 'Users'\n }\n buildAvatarUrl={buildAvatarUrl}\n />\n <span className='chat-bubble-name'>{message.authorName}</span>\n </div>\n )}\n <div className='chat-bubble-body'>\n <div\n className={`chat-bubble-panel${showActionsRow ? ' chat-bubble-panel--with-actions' : ''}`}\n >\n <p className='chat-bubble-text'>{message.text}</p>\n {showActionsRow && (\n <div className='chat-bubble-actions'>\n {supportsReactions && (\n <button\n ref={reactionButtonRef}\n type='button'\n className={`chat-bubble-action${ownReaction ? ' chat-bubble-action--own-reaction' : ''}`}\n title={\n ownReaction\n ? (\n labels?.yourReaction ??\n 'You reacted with {emoji}'\n ).replace('{emoji}', ownReaction.emoji)\n : (labels?.addReaction ??\n 'Add a quick reaction')\n }\n aria-label={\n ownReaction\n ? (\n labels?.yourReaction ??\n 'You reacted with {emoji}'\n ).replace('{emoji}', ownReaction.emoji)\n : (labels?.addReaction ??\n 'Add a quick reaction')\n }\n aria-expanded={pickerOpen}\n onClick={() => setPickerOpen((previous) => !previous)}\n >\n {ownReaction ? ownReaction.emoji : '☺'}\n </button>\n )}\n {onQuickReply && (\n <button\n type='button'\n className='chat-bubble-action'\n title={(\n labels?.quickReplyTo ?? 'Reply to {name}'\n ).replace('{name}', message.authorName)}\n aria-label={(\n labels?.quickReplyTo ?? 'Reply to {name}'\n ).replace('{name}', message.authorName)}\n onClick={() => onQuickReply(message.authorName)}\n >\n <FaReply aria-hidden='true' />\n </button>\n )}\n {onAct && (\n <button\n type='button'\n className='chat-bubble-action'\n title={\n labels?.convertToAction ?? 'Turn into an action'\n }\n aria-label={\n labels?.convertToAction ?? 'Turn into an action'\n }\n onClick={() => onAct(message.id)}\n >\n <FaBolt aria-hidden='true' />\n </button>\n )}\n </div>\n )}\n </div>\n {showTimestamp && (\n <span className='chat-bubble-time'>{formattedTimestamp}</span>\n )}\n {supportsReactions && <MessageReactions reactions={otherReactions} />}\n {/* Portaled to <body> rather than positioned inside the bubble: the chat panel scrolls,\n so a picker positioned within it is clipped the moment it reaches the panel's edge. */}\n <AnchoredOverlay\n anchorRef={reactionButtonRef}\n open={pickerOpen}\n side='above'\n align='right'\n gap={6}\n >\n <ReactionPicker\n ownEmoji={ownReaction?.emoji}\n reactions={message.reactions}\n anchorRef={reactionButtonRef}\n onPick={pick}\n onDismiss={() => setPickerOpen(false)}\n labels={labels?.reactionPicker}\n />\n </AnchoredOverlay>\n </div>\n </div>\n );\n};\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;;AAiFO,MAAM,iBAAiB,GAAG,CAAC,EAC9B,OAAO,EACP,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,OAAO,EACP,YAAY,EACZ,KAAK,EACL,cAAc,EACd,MAAM,GACe,KAAI;IACzB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AACnD,IAAA,MAAM,iBAAiB,GAAG,MAAM,CAAoB,IAAI,CAAC;IACzD,MAAM,iBAAiB,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,OAAO;IACtD,MAAM,cAAc,GAAG,iBAAiB,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,KAAK;IACrE,MAAM,WAAW,GAAG;UACd,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa;UAChD,SAAS;IACf,MAAM,cAAc,GAAG;UACjB,sBAAsB,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa;UACvD,EAAE;AAER,IAAA,MAAM,IAAI,GAAG,CAAC,KAAa,KAAI;QAC3B,aAAa,CAAC,KAAK,CAAC;QACpB,OAAO,GAAG,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC;AAChC,IAAA,CAAC;IAED,QACIA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,CAAA,WAAA,EAAc,UAAU,GAAG,EAAE,GAAG,4BAA4B,CAAA,CAAE,EAAA,QAAA,EAAA,CACzE,UAAU,KACPA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAAA,CAC/BC,GAAA,CAAC,kBAAkB,EAAA,EACf,MAAM,EAAE,OAAO,CAAC,QAAQ,EACxB,IAAI,EAAE,OAAO,CAAC,UAAU,EACxB,SAAS,EAAE,OAAO,CAAC,SAAS,EAC5B,IAAI,EAAE,EAAE,EACR,SAAS,EACL,OAAO,CAAC,UAAU,KAAK,cAAc,CAAC;AAClC,8BAAE;AACF,8BAAE,OAAO,EAEjB,cAAc,EAAE,cAAc,GAChC,EACFA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAAE,OAAO,CAAC,UAAU,EAAA,CAAQ,IAC5D,CACT,EACDD,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAAA,CAC7BA,cACI,SAAS,EAAE,oBAAoB,cAAc,GAAG,kCAAkC,GAAG,EAAE,CAAA,CAAE,EAAA,QAAA,EAAA,CAEzFC,WAAG,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAAE,OAAO,CAAC,IAAI,GAAK,EACjD,cAAc,KACXD,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,EAAA,QAAA,EAAA,CAC/B,iBAAiB,KACdC,GAAA,CAAA,QAAA,EAAA,EACI,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,CAAA,kBAAA,EAAqB,WAAW,GAAG,mCAAmC,GAAG,EAAE,EAAE,EACxF,KAAK,EACD;AACI,8CAAE,CACI,MAAM,EAAE,YAAY;gDACpB,0BAA0B,EAC5B,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK;AACxC,+CAAG,MAAM,EAAE,WAAW;gDACpB,sBAAsB,CAAC,gBAG7B;AACI,8CAAE,CACI,MAAM,EAAE,YAAY;gDACpB,0BAA0B,EAC5B,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK;AACxC,+CAAG,MAAM,EAAE,WAAW;gDACpB,sBAAsB,CAAC,EAAA,eAAA,EAElB,UAAU,EACzB,OAAO,EAAE,MAAM,aAAa,CAAC,CAAC,QAAQ,KAAK,CAAC,QAAQ,CAAC,EAAA,QAAA,EAEpD,WAAW,GAAG,WAAW,CAAC,KAAK,GAAG,GAAG,EAAA,CACjC,CACZ,EACA,YAAY,KACTA,GAAA,CAAA,QAAA,EAAA,EACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAE,CACH,MAAM,EAAE,YAAY,IAAI,iBAAiB,EAC3C,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,EAAA,YAAA,EAC3B,CACR,MAAM,EAAE,YAAY,IAAI,iBAAiB,EAC3C,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,EACvC,OAAO,EAAE,MAAM,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,EAAA,QAAA,EAE/CA,GAAA,CAAC,OAAO,EAAA,EAAA,aAAA,EAAa,MAAM,EAAA,CAAG,EAAA,CACzB,CACZ,EACA,KAAK,KACFA,GAAA,CAAA,QAAA,EAAA,EACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EACD,MAAM,EAAE,eAAe,IAAI,qBAAqB,EAAA,YAAA,EAGhD,MAAM,EAAE,eAAe,IAAI,qBAAqB,EAEpD,OAAO,EAAE,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAA,QAAA,EAEhCA,GAAA,CAAC,MAAM,EAAA,EAAA,aAAA,EAAa,MAAM,EAAA,CAAG,EAAA,CACxB,CACZ,CAAA,EAAA,CACC,CACT,IACC,EACL,aAAa,KACVA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAAE,kBAAkB,EAAA,CAAQ,CACjE,EACA,iBAAiB,IAAIA,GAAA,CAAC,gBAAgB,EAAA,EAAC,SAAS,EAAE,cAAc,EAAA,CAAI,EAGrEA,GAAA,CAAC,eAAe,EAAA,EACZ,SAAS,EAAE,iBAAiB,EAC5B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,OAAO,EACb,GAAG,EAAE,CAAC,YAENA,GAAA,CAAC,cAAc,EAAA,EACX,QAAQ,EAAE,WAAW,EAAE,KAAK,EAC5B,SAAS,EAAE,OAAO,CAAC,SAAS,EAC5B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,IAAI,EACZ,SAAS,EAAE,MAAM,aAAa,CAAC,KAAK,CAAC,EACrC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAA,CAChC,EAAA,CACY,CAAA,EAAA,CAChB,CAAA,EAAA,CACJ;AAEd;;"}
@@ -9,3 +9,4 @@ export interface ChatMessageReaction {
9
9
  /** Whoever gave this emoji, in the order they gave it. */
10
10
  users: ChatMessageReactionUser[];
11
11
  }
12
+ //# sourceMappingURL=ChatMessageReaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessageReaction.d.ts","sourceRoot":"","sources":["../../../../Chat/Kit/ChatMessageReaction.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA2B,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAEhC,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IAEd,0DAA0D;IAC1D,KAAK,EAAE,uBAAuB,EAAE,CAAC;CACpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessageReaction.js","sourceRoot":"","sources":["../../../../Chat/Kit/ChatMessageReaction.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
1
+ {"version":3,"file":"ChatMessageReaction.js","sourceRoot":"","sources":["../../../../Chat/Kit/ChatMessageReaction.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { ChatMessageReactionUser } from './ChatMessageReactionUser';\n\n/**\n * Everyone who gave the same emoji as a quick reaction to a message — grouped so identical reactions\n * from different people render as one stacked badge instead of repeating the emoji per person.\n */\nexport interface ChatMessageReaction {\n\n /** The emoji that was given. */\n emoji: string;\n\n /** Whoever gave this emoji, in the order they gave it. */\n users: ChatMessageReactionUser[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessageReactionUser.js","sourceRoot":"","sources":["../../../../Chat/Kit/ChatMessageReactionUser.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
1
+ {"version":3,"file":"ChatMessageReactionUser.js","sourceRoot":"","sources":["../../../../Chat/Kit/ChatMessageReactionUser.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { Guid } from '@cratis/fundamentals';\n\n/**\n * One person behind a {@link ChatMessageReaction} — enough to show them in the reaction tooltip, and\n * to identify their own reaction record when it needs to change or be taken back.\n */\nexport interface ChatMessageReactionUser {\n\n /** The user's identifier. */\n id: Guid;\n\n /** The user's display name. */\n name: string;\n\n /**\n * The identifier of the underlying reaction this person gave. A person has one reaction per\n * message, so giving a different emoji reuses this identifier rather than creating a new one, and\n * taking the reaction back targets it directly.\n */\n reactionId: Guid;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatOwnReaction.js","sourceRoot":"","sources":["../../../../Chat/Kit/ChatOwnReaction.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
1
+ {"version":3,"file":"ChatOwnReaction.js","sourceRoot":"","sources":["../../../../Chat/Kit/ChatOwnReaction.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { Guid } from '@cratis/fundamentals';\n\n/**\n * The reaction a specific person gave to a message, found by {@link findOwnReaction}. Carries the\n * reaction's identifier so a caller can reuse it to change the emoji, or target it to take the\n * reaction back.\n */\nexport interface ChatOwnReaction {\n\n /** The identifier of the reaction record. */\n reactionId: Guid;\n\n /** The emoji they gave. */\n emoji: string;\n}\n"]}
@@ -13,3 +13,4 @@ export interface ChatTypingAuthor {
13
13
  /** Whether this is a person or an agent, which decides where the avatar is fetched from. */
14
14
  kind: ChatAuthorKind;
15
15
  }
16
+ //# sourceMappingURL=ChatTypingAuthor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatTypingAuthor.d.ts","sourceRoot":"","sources":["../../../../Chat/Kit/ChatTypingAuthor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAkB,CAAC;AAElD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAE7B,+DAA+D;IAC/D,EAAE,EAAE,MAAM,CAAC;IAEX,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IAEb,kDAAkD;IAClD,SAAS,EAAE,OAAO,CAAC;IAEnB,4FAA4F;IAC5F,IAAI,EAAE,cAAc,CAAC;CACxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatTypingAuthor.js","sourceRoot":"","sources":["../../../../Chat/Kit/ChatTypingAuthor.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
1
+ {"version":3,"file":"ChatTypingAuthor.js","sourceRoot":"","sources":["../../../../Chat/Kit/ChatTypingAuthor.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { ChatAuthorKind } from './ChatAuthorKind';\n\n/**\n * Somebody the conversation is currently waiting on — a person typing, or an agent working on its\n * answer.\n */\nexport interface ChatTypingAuthor {\n\n /** The identifier, used for the avatar and as the list key. */\n id: string;\n\n /** The name shown in the indicator. */\n name: string;\n\n /** Whether an avatar image is stored for them. */\n hasAvatar: boolean;\n\n /** Whether this is a person or an agent, which decides where the avatar is fetched from. */\n kind: ChatAuthorKind;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatVariant.js","sources":["../../../../Chat/Kit/ChatVariant.ts"],"sourcesContent":[null],"names":[],"mappings":"IAMY;AAAZ,CAAA,UAAY,WAAW,EAAA;AAGnB,IAAA,WAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AAGrB,IAAA,WAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACrB,CAAC,EAPW,WAAW,KAAX,WAAW,GAAA,EAAA,CAAA,CAAA;;"}
1
+ {"version":3,"file":"ChatVariant.js","sources":["../../../../Chat/Kit/ChatVariant.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/**\n * How a conversation is presented.\n */\nexport enum ChatVariant {\n\n /** A floating card hanging off whatever opened it. */\n Floating = 'floating',\n\n /** Filling a container that already provides its own frame and heading, such as a sidebar. */\n Docked = 'docked',\n}\n"],"names":[],"mappings":"IAMY;AAAZ,CAAA,UAAY,WAAW,EAAA;AAGnB,IAAA,WAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AAGrB,IAAA,WAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACrB,CAAC,EAPW,WAAW,KAAX,WAAW,GAAA,EAAA,CAAA,CAAA;;"}
@@ -6,3 +6,4 @@ export interface EmojiCategory {
6
6
  /** The emojis it offers, in the order they are shown. */
7
7
  emojis: readonly string[];
8
8
  }
9
+ //# sourceMappingURL=EmojiCategory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmojiCategory.d.ts","sourceRoot":"","sources":["../../../../../Chat/Kit/Emoji/EmojiCategory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAoB,CAAC;AAEtD,4CAA4C;AAC5C,MAAM,WAAW,aAAa;IAE1B,6BAA6B;IAC7B,GAAG,EAAE,gBAAgB,CAAC;IAEtB,yDAAyD;IACzD,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiCategory.js","sourceRoot":"","sources":["../../../../../Chat/Kit/Emoji/EmojiCategory.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
1
+ {"version":3,"file":"EmojiCategory.js","sourceRoot":"","sources":["../../../../../Chat/Kit/Emoji/EmojiCategory.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { EmojiCategoryKey } from './EmojiCategoryKey';\n\n/** One section of the full emoji picker. */\nexport interface EmojiCategory {\n\n /** Which section this is. */\n key: EmojiCategoryKey;\n\n /** The emojis it offers, in the order they are shown. */\n emojis: readonly string[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiCategoryKey.js","sources":["../../../../../Chat/Kit/Emoji/EmojiCategoryKey.ts"],"sourcesContent":[null],"names":[],"mappings":"IAIY;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AACxB,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,gBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACnB,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,GAAA,EAAA,CAAA,CAAA;;"}
1
+ {"version":3,"file":"EmojiCategoryKey.js","sources":["../../../../../Chat/Kit/Emoji/EmojiCategoryKey.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/** The sections the full emoji picker groups its emojis into, in the order it shows them. */\nexport enum EmojiCategoryKey {\n Smileys = 'smileys',\n People = 'people',\n Nature = 'nature',\n Food = 'food',\n Activity = 'activity',\n Travel = 'travel',\n Objects = 'objects',\n Symbols = 'symbols',\n Flags = 'flags',\n}\n"],"names":[],"mappings":"IAIY;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AACxB,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,gBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB;AACrB,IAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACnB,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,GAAA,EAAA,CAAA,CAAA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiMemory.js","sourceRoot":"","sources":["../../../../../Chat/Kit/Emoji/EmojiMemory.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG"}
1
+ {"version":3,"file":"EmojiMemory.js","sourceRoot":"","sources":["../../../../../Chat/Kit/Emoji/EmojiMemory.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG","sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/**\n * Where a person's recently used emojis are kept between visits. Narrowed to the two calls that are\n * actually needed so the picker never reaches for browser storage itself, and a spec can hand it a\n * plain object instead.\n */\nexport interface EmojiMemory {\n\n /** Reads a stored value, or null when nothing has been stored under the key. */\n getItem(key: string): string | null;\n\n /** Stores a value under a key. */\n setItem(key: string, value: string): void;\n}\n"]}
@@ -30,3 +30,4 @@ export interface EmojiPickerProps {
30
30
  * feel slow to open, and there is never more than one section on screen to look at anyway.
31
31
  */
32
32
  export declare const EmojiPicker: ({ ownEmoji, onPick, labels }: EmojiPickerProps) => import("react").JSX.Element;
33
+ //# sourceMappingURL=EmojiPicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmojiPicker.d.ts","sourceRoot":"","sources":["../../../../../Chat/Kit/Emoji/EmojiPicker.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAoB,CAAC;AA6BtD,uGAAuG;AACvG,MAAM,WAAW,iBAAiB;IAC9B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8FAA8F;IAC9F,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;CAC1D;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,8CAA8C;IAC9C,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhC,6FAA6F;IAC7F,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,iCAAkC,gBAAgB,gCA+DzE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiPicker.js","sources":["../../../../../Chat/Kit/Emoji/EmojiPicker.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"EmojiPicker.js","sources":["../../../../../Chat/Kit/Emoji/EmojiPicker.tsx"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { useRef, useState } from 'react';\nimport { EMOJI_CATALOG } from './emojiCatalog';\nimport { EmojiCategoryKey } from './EmojiCategoryKey';\n\n/** The tab glyph for each section — the picker's own labels are its icons, as pickers of this kind are. */\nconst CATEGORY_GLYPHS: Record<EmojiCategoryKey, string> = {\n [EmojiCategoryKey.Smileys]: '😀',\n [EmojiCategoryKey.People]: '👋',\n [EmojiCategoryKey.Nature]: '🐻',\n [EmojiCategoryKey.Food]: '🍔',\n [EmojiCategoryKey.Activity]: '⚽',\n [EmojiCategoryKey.Travel]: '🚗',\n [EmojiCategoryKey.Objects]: '💡',\n [EmojiCategoryKey.Symbols]: '❤️',\n [EmojiCategoryKey.Flags]: '🏳️',\n};\n\n/** The literal English defaults for each category's accessible name/title, used when\n * {@link EmojiPickerLabels.categories} does not override a given key. */\nconst DEFAULT_CATEGORY_LABELS: Record<EmojiCategoryKey, string> = {\n [EmojiCategoryKey.Smileys]: 'Smileys',\n [EmojiCategoryKey.People]: 'People',\n [EmojiCategoryKey.Nature]: 'Animals & nature',\n [EmojiCategoryKey.Food]: 'Food & drink',\n [EmojiCategoryKey.Activity]: 'Activity',\n [EmojiCategoryKey.Travel]: 'Travel & places',\n [EmojiCategoryKey.Objects]: 'Objects',\n [EmojiCategoryKey.Symbols]: 'Symbols',\n [EmojiCategoryKey.Flags]: 'Flags',\n};\n\n/** Overrides for the picker's labels. Any field left unset falls back to a literal English default. */\nexport interface EmojiPickerLabels {\n /** Accessible label for the picker dialog. Defaults to `'All emojis'`. */\n allEmojis?: string;\n /** Accessible label for the emoji grid. Defaults to `'Pick an emoji'`. */\n pickEmoji?: string;\n /** Accessible label for the category tab list. Defaults to `'Emoji categories'`. */\n emojiCategories?: string;\n /** Per-category accessible names/titles. Unset categories fall back to their English name. */\n categories?: Partial<Record<EmojiCategoryKey, string>>;\n}\n\n/**\n * Props for the full emoji picker the quick row's last button opens — every emoji offered, in the\n * sections a picker is expected to have. Only the selected section is mounted.\n */\nexport interface EmojiPickerProps {\n /** The emoji the viewer already gave, marked so picking it again reads as taking it back. */\n ownEmoji?: string;\n\n /** Invoked with the emoji that was picked. */\n onPick: (emoji: string) => void;\n\n /** Overrides for the picker's labels. Unset fields fall back to literal English defaults. */\n labels?: EmojiPickerLabels;\n}\n\n/**\n * The full emoji picker the quick row's last button opens — every emoji offered, in the sections a\n * picker is expected to have.\n *\n * Only the selected section is mounted. A thousand buttons at once is what makes a picker of this kind\n * feel slow to open, and there is never more than one section on screen to look at anyway.\n */\nexport const EmojiPicker = ({ ownEmoji, onPick, labels }: EmojiPickerProps) => {\n const [category, setCategory] = useState(EmojiCategoryKey.Smileys);\n const gridRef = useRef<HTMLDivElement>(null);\n\n const showCategory = (key: EmojiCategoryKey) => {\n setCategory(key);\n gridRef.current?.scrollTo({ top: 0 });\n };\n\n const emojis =\n EMOJI_CATALOG.find((section) => section.key === category)?.emojis ?? [];\n const categoryLabel = (key: EmojiCategoryKey) =>\n labels?.categories?.[key] ?? DEFAULT_CATEGORY_LABELS[key];\n\n return (\n <div\n className='emoji-picker'\n role='dialog'\n aria-label={labels?.allEmojis ?? 'All emojis'}\n >\n <div\n ref={gridRef}\n className='emoji-picker__grid'\n role='listbox'\n aria-label={labels?.pickEmoji ?? 'Pick an emoji'}\n >\n {emojis.map((emoji) => (\n <button\n key={emoji}\n type='button'\n role='option'\n aria-selected={emoji === ownEmoji}\n className={`emoji-picker__emoji${emoji === ownEmoji ? ' emoji-picker__emoji--selected' : ''}`}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => onPick(emoji)}\n >\n {emoji}\n </button>\n ))}\n </div>\n <div\n className='emoji-picker__tabs'\n role='tablist'\n aria-label={labels?.emojiCategories ?? 'Emoji categories'}\n >\n {EMOJI_CATALOG.map((section) => (\n <button\n key={section.key}\n type='button'\n role='tab'\n aria-selected={section.key === category}\n aria-label={categoryLabel(section.key)}\n title={categoryLabel(section.key)}\n className={`emoji-picker__tab${section.key === category ? ' emoji-picker__tab--current' : ''}`}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => showCategory(section.key)}\n >\n {CATEGORY_GLYPHS[section.key]}\n </button>\n ))}\n </div>\n </div>\n );\n};\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -11,3 +11,4 @@ import type { EmojiCategory } from './EmojiCategory.js';
11
11
  * flags and there is no range to sweep - those are listed deliberately.
12
12
  */
13
13
  export declare const EMOJI_CATALOG: readonly EmojiCategory[];
14
+ //# sourceMappingURL=emojiCatalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emojiCatalog.d.ts","sourceRoot":"","sources":["../../../../../Chat/Kit/Emoji/emojiCatalog.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAiB,CAAC;AAErD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,aAAa,EAwIjD,CAAC"}