@cratis/components 3.4.0 → 3.5.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 (386) hide show
  1. package/README.md +148 -98
  2. package/dist/esm/Canvas/Canvas.d.ts +64 -0
  3. package/dist/esm/Canvas/Canvas.d.ts.map +1 -0
  4. package/dist/esm/Canvas/Canvas.js +767 -0
  5. package/dist/esm/Canvas/Canvas.js.map +1 -0
  6. package/dist/esm/Canvas/CanvasControls.d.ts +32 -0
  7. package/dist/esm/Canvas/CanvasControls.d.ts.map +1 -0
  8. package/dist/esm/Canvas/CanvasControls.js +34 -0
  9. package/dist/esm/Canvas/CanvasControls.js.map +1 -0
  10. package/dist/esm/Canvas/CanvasItem.d.ts +10 -0
  11. package/dist/esm/Canvas/CanvasItem.d.ts.map +1 -0
  12. package/dist/esm/Canvas/CanvasItem.js +51 -0
  13. package/dist/esm/Canvas/CanvasItem.js.map +1 -0
  14. package/dist/esm/Canvas/CanvasMinimap.d.ts +25 -0
  15. package/dist/esm/Canvas/CanvasMinimap.d.ts.map +1 -0
  16. package/dist/esm/Canvas/CanvasMinimap.js +102 -0
  17. package/dist/esm/Canvas/CanvasMinimap.js.map +1 -0
  18. package/dist/esm/Canvas/CanvasOverlay.d.ts +6 -0
  19. package/dist/esm/Canvas/CanvasOverlay.d.ts.map +1 -0
  20. package/dist/esm/Canvas/CanvasOverlay.js +8 -0
  21. package/dist/esm/Canvas/CanvasOverlay.js.map +1 -0
  22. package/dist/esm/Canvas/canvasGesture.d.ts +8 -0
  23. package/dist/esm/Canvas/canvasGesture.d.ts.map +1 -0
  24. package/dist/esm/Canvas/canvasGesture.js +32 -0
  25. package/dist/esm/Canvas/canvasGesture.js.map +1 -0
  26. package/dist/esm/Canvas/canvasTransformActivity.d.ts +7 -0
  27. package/dist/esm/Canvas/canvasTransformActivity.d.ts.map +1 -0
  28. package/dist/esm/Canvas/canvasTransformActivity.js +22 -0
  29. package/dist/esm/Canvas/canvasTransformActivity.js.map +1 -0
  30. package/dist/esm/Canvas/glassAttributes.d.ts +4 -0
  31. package/dist/esm/Canvas/glassAttributes.d.ts.map +1 -0
  32. package/dist/esm/Canvas/glassAttributes.js +25 -0
  33. package/dist/esm/Canvas/glassAttributes.js.map +1 -0
  34. package/dist/esm/Canvas/index.d.ts +18 -0
  35. package/dist/esm/Canvas/index.d.ts.map +1 -0
  36. package/dist/esm/Canvas/index.js +38 -0
  37. package/dist/esm/Canvas/index.js.map +1 -0
  38. package/dist/esm/Canvas/isBackgroundPointerTarget.d.ts +2 -0
  39. package/dist/esm/Canvas/isBackgroundPointerTarget.d.ts.map +1 -0
  40. package/dist/esm/Canvas/isBackgroundPointerTarget.js +17 -0
  41. package/dist/esm/Canvas/isBackgroundPointerTarget.js.map +1 -0
  42. package/dist/esm/Canvas/isWithinScrollableContent.d.ts +11 -0
  43. package/dist/esm/Canvas/isWithinScrollableContent.d.ts.map +1 -0
  44. package/dist/esm/Canvas/isWithinScrollableContent.js +38 -0
  45. package/dist/esm/Canvas/isWithinScrollableContent.js.map +1 -0
  46. package/dist/esm/Canvas/panMomentum.d.ts +13 -0
  47. package/dist/esm/Canvas/panMomentum.d.ts.map +1 -0
  48. package/dist/esm/Canvas/panMomentum.js +41 -0
  49. package/dist/esm/Canvas/panMomentum.js.map +1 -0
  50. package/dist/esm/Canvas/pinchGesture.d.ts +16 -0
  51. package/dist/esm/Canvas/pinchGesture.d.ts.map +1 -0
  52. package/dist/esm/Canvas/pinchGesture.js +30 -0
  53. package/dist/esm/Canvas/pinchGesture.js.map +1 -0
  54. package/dist/esm/Canvas/selfSuspendingFrameLoop.d.ts +10 -0
  55. package/dist/esm/Canvas/selfSuspendingFrameLoop.d.ts.map +1 -0
  56. package/dist/esm/Canvas/selfSuspendingFrameLoop.js +33 -0
  57. package/dist/esm/Canvas/selfSuspendingFrameLoop.js.map +1 -0
  58. package/dist/esm/Canvas/shapes/ChatBubble/AnchoredOverlay.d.ts +13 -0
  59. package/dist/esm/Canvas/shapes/ChatBubble/AnchoredOverlay.d.ts.map +1 -0
  60. package/dist/esm/Canvas/shapes/ChatBubble/AnchoredOverlay.js +61 -0
  61. package/dist/esm/Canvas/shapes/ChatBubble/AnchoredOverlay.js.map +1 -0
  62. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/PersonAvatarCircle.d.ts +20 -0
  63. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/PersonAvatarCircle.d.ts.map +1 -0
  64. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/PersonAvatarCircle.js +27 -0
  65. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/PersonAvatarCircle.js.map +1 -0
  66. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getAvatarColor.d.ts +2 -0
  67. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getAvatarColor.d.ts.map +1 -0
  68. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getAvatarColor.js +20 -0
  69. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getAvatarColor.js.map +1 -0
  70. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getInitials.d.ts +2 -0
  71. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getInitials.d.ts.map +1 -0
  72. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getInitials.js +11 -0
  73. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/getInitials.js.map +1 -0
  74. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/index.d.ts +5 -0
  75. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/index.d.ts.map +1 -0
  76. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/index.js +4 -0
  77. package/dist/esm/Canvas/shapes/ChatBubble/Avatar/index.js.map +1 -0
  78. package/dist/esm/Canvas/shapes/ChatBubble/Chat.d.ts +41 -0
  79. package/dist/esm/Canvas/shapes/ChatBubble/Chat.d.ts.map +1 -0
  80. package/dist/esm/Canvas/shapes/ChatBubble/Chat.js +76 -0
  81. package/dist/esm/Canvas/shapes/ChatBubble/Chat.js.map +1 -0
  82. package/dist/esm/Canvas/shapes/ChatBubble/ChatAuthorKind.d.ts +5 -0
  83. package/dist/esm/Canvas/shapes/ChatBubble/ChatAuthorKind.d.ts.map +1 -0
  84. package/dist/esm/Canvas/shapes/ChatBubble/ChatAuthorKind.js +14 -0
  85. package/dist/esm/Canvas/shapes/ChatBubble/ChatAuthorKind.js.map +1 -0
  86. package/dist/esm/Canvas/shapes/ChatBubble/ChatBubble.d.ts +18 -0
  87. package/dist/esm/Canvas/shapes/ChatBubble/ChatBubble.d.ts.map +1 -0
  88. package/dist/esm/Canvas/shapes/ChatBubble/ChatBubble.js +89 -0
  89. package/dist/esm/Canvas/shapes/ChatBubble/ChatBubble.js.map +1 -0
  90. package/dist/esm/Canvas/shapes/ChatBubble/ChatComposer.d.ts +23 -0
  91. package/dist/esm/Canvas/shapes/ChatBubble/ChatComposer.d.ts.map +1 -0
  92. package/dist/esm/Canvas/shapes/ChatBubble/ChatComposer.js +107 -0
  93. package/dist/esm/Canvas/shapes/ChatBubble/ChatComposer.js.map +1 -0
  94. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessage.d.ts +17 -0
  95. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessage.d.ts.map +1 -0
  96. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessage.js +2 -0
  97. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessage.js.map +1 -0
  98. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageBubble.d.ts +25 -0
  99. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageBubble.d.ts.map +1 -0
  100. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageBubble.js +31 -0
  101. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageBubble.js.map +1 -0
  102. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReaction.d.ts +6 -0
  103. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReaction.d.ts.map +1 -0
  104. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReaction.js +2 -0
  105. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReaction.js.map +1 -0
  106. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReactionUser.d.ts +7 -0
  107. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReactionUser.d.ts.map +1 -0
  108. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReactionUser.js +2 -0
  109. package/dist/esm/Canvas/shapes/ChatBubble/ChatMessageReactionUser.js.map +1 -0
  110. package/dist/esm/Canvas/shapes/ChatBubble/ChatOwnReaction.d.ts +6 -0
  111. package/dist/esm/Canvas/shapes/ChatBubble/ChatOwnReaction.d.ts.map +1 -0
  112. package/dist/esm/Canvas/shapes/ChatBubble/ChatOwnReaction.js +2 -0
  113. package/dist/esm/Canvas/shapes/ChatBubble/ChatOwnReaction.js.map +1 -0
  114. package/dist/esm/Canvas/shapes/ChatBubble/ChatTypingAuthor.d.ts +8 -0
  115. package/dist/esm/Canvas/shapes/ChatBubble/ChatTypingAuthor.d.ts.map +1 -0
  116. package/dist/esm/Canvas/shapes/ChatBubble/ChatTypingAuthor.js +2 -0
  117. package/dist/esm/Canvas/shapes/ChatBubble/ChatTypingAuthor.js.map +1 -0
  118. package/dist/esm/Canvas/shapes/ChatBubble/ChatVariant.d.ts +5 -0
  119. package/dist/esm/Canvas/shapes/ChatBubble/ChatVariant.d.ts.map +1 -0
  120. package/dist/esm/Canvas/shapes/ChatBubble/ChatVariant.js +15 -0
  121. package/dist/esm/Canvas/shapes/ChatBubble/ChatVariant.js.map +1 -0
  122. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategory.d.ts +6 -0
  123. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategory.d.ts.map +1 -0
  124. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategory.js +2 -0
  125. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategory.js.map +1 -0
  126. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.d.ts +12 -0
  127. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.d.ts.map +1 -0
  128. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.js +18 -0
  129. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.js.map +1 -0
  130. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiMemory.d.ts +5 -0
  131. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiMemory.d.ts.map +1 -0
  132. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiMemory.js +2 -0
  133. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiMemory.js.map +1 -0
  134. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiPicker.d.ts +14 -0
  135. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiPicker.d.ts.map +1 -0
  136. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiPicker.js +51 -0
  137. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/EmojiPicker.js.map +1 -0
  138. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/emojiCatalog.d.ts +3 -0
  139. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/emojiCatalog.d.ts.map +1 -0
  140. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/emojiCatalog.js +155 -0
  141. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/emojiCatalog.js.map +1 -0
  142. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/index.d.ts +7 -0
  143. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/index.d.ts.map +1 -0
  144. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/index.js +7 -0
  145. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/index.js.map +1 -0
  146. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/recentEmojis.d.ts +6 -0
  147. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/recentEmojis.d.ts.map +1 -0
  148. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/recentEmojis.js +59 -0
  149. package/dist/esm/Canvas/shapes/ChatBubble/Emoji/recentEmojis.js.map +1 -0
  150. package/dist/esm/Canvas/shapes/ChatBubble/FailedReply.d.ts +23 -0
  151. package/dist/esm/Canvas/shapes/ChatBubble/FailedReply.d.ts.map +1 -0
  152. package/dist/esm/Canvas/shapes/ChatBubble/FailedReply.js +28 -0
  153. package/dist/esm/Canvas/shapes/ChatBubble/FailedReply.js.map +1 -0
  154. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionCandidate.d.ts +9 -0
  155. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionCandidate.d.ts.map +1 -0
  156. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionCandidate.js +2 -0
  157. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionCandidate.js.map +1 -0
  158. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionQuery.d.ts +5 -0
  159. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionQuery.d.ts.map +1 -0
  160. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionQuery.js +2 -0
  161. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionQuery.js.map +1 -0
  162. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionSuggestions.d.ts +11 -0
  163. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionSuggestions.d.ts.map +1 -0
  164. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionSuggestions.js +14 -0
  165. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/MentionSuggestions.js.map +1 -0
  166. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/activeMentionQuery.d.ts +3 -0
  167. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/activeMentionQuery.d.ts.map +1 -0
  168. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/activeMentionQuery.js +34 -0
  169. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/activeMentionQuery.js.map +1 -0
  170. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/applyMention.d.ts +7 -0
  171. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/applyMention.d.ts.map +1 -0
  172. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/applyMention.js +23 -0
  173. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/applyMention.js.map +1 -0
  174. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/index.d.ts +7 -0
  175. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/index.d.ts.map +1 -0
  176. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/index.js +7 -0
  177. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/index.js.map +1 -0
  178. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/matchCandidates.d.ts +3 -0
  179. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/matchCandidates.d.ts.map +1 -0
  180. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/matchCandidates.js +24 -0
  181. package/dist/esm/Canvas/shapes/ChatBubble/Mentions/matchCandidates.js.map +1 -0
  182. package/dist/esm/Canvas/shapes/ChatBubble/MessageReactions.d.ts +6 -0
  183. package/dist/esm/Canvas/shapes/ChatBubble/MessageReactions.d.ts.map +1 -0
  184. package/dist/esm/Canvas/shapes/ChatBubble/MessageReactions.js +28 -0
  185. package/dist/esm/Canvas/shapes/ChatBubble/MessageReactions.js.map +1 -0
  186. package/dist/esm/Canvas/shapes/ChatBubble/ReactionPicker.d.ts +20 -0
  187. package/dist/esm/Canvas/shapes/ChatBubble/ReactionPicker.d.ts.map +1 -0
  188. package/dist/esm/Canvas/shapes/ChatBubble/ReactionPicker.js +50 -0
  189. package/dist/esm/Canvas/shapes/ChatBubble/ReactionPicker.js.map +1 -0
  190. package/dist/esm/Canvas/shapes/ChatBubble/TypingIndicator.d.ts +9 -0
  191. package/dist/esm/Canvas/shapes/ChatBubble/TypingIndicator.d.ts.map +1 -0
  192. package/dist/esm/Canvas/shapes/ChatBubble/TypingIndicator.js +18 -0
  193. package/dist/esm/Canvas/shapes/ChatBubble/TypingIndicator.js.map +1 -0
  194. package/dist/esm/Canvas/shapes/ChatBubble/findOwnReaction.d.ts +5 -0
  195. package/dist/esm/Canvas/shapes/ChatBubble/findOwnReaction.d.ts.map +1 -0
  196. package/dist/esm/Canvas/shapes/ChatBubble/findOwnReaction.js +19 -0
  197. package/dist/esm/Canvas/shapes/ChatBubble/findOwnReaction.js.map +1 -0
  198. package/dist/esm/Canvas/shapes/ChatBubble/index.d.ts +31 -0
  199. package/dist/esm/Canvas/shapes/ChatBubble/index.d.ts.map +1 -0
  200. package/dist/esm/Canvas/shapes/ChatBubble/index.js +17 -0
  201. package/dist/esm/Canvas/shapes/ChatBubble/index.js.map +1 -0
  202. package/dist/esm/Canvas/shapes/ChatBubble/reactionsExcludingUser.d.ts +4 -0
  203. package/dist/esm/Canvas/shapes/ChatBubble/reactionsExcludingUser.d.ts.map +1 -0
  204. package/dist/esm/Canvas/shapes/ChatBubble/reactionsExcludingUser.js +16 -0
  205. package/dist/esm/Canvas/shapes/ChatBubble/reactionsExcludingUser.js.map +1 -0
  206. package/dist/esm/Canvas/shapes/Note/Note.d.ts +22 -0
  207. package/dist/esm/Canvas/shapes/Note/Note.d.ts.map +1 -0
  208. package/dist/esm/Canvas/shapes/Note/Note.js +237 -0
  209. package/dist/esm/Canvas/shapes/Note/Note.js.map +1 -0
  210. package/dist/esm/Canvas/shapes/Note/index.d.ts +3 -0
  211. package/dist/esm/Canvas/shapes/Note/index.d.ts.map +1 -0
  212. package/dist/esm/Canvas/shapes/Note/index.js +2 -0
  213. package/dist/esm/Canvas/shapes/Note/index.js.map +1 -0
  214. package/dist/esm/Canvas/shapes/Note/noteFont.d.ts +2 -0
  215. package/dist/esm/Canvas/shapes/Note/noteFont.d.ts.map +1 -0
  216. package/dist/esm/Canvas/shapes/Note/noteFont.js +26 -0
  217. package/dist/esm/Canvas/shapes/Note/noteFont.js.map +1 -0
  218. package/dist/esm/Canvas/shapes/Region/Region.d.ts +22 -0
  219. package/dist/esm/Canvas/shapes/Region/Region.d.ts.map +1 -0
  220. package/dist/esm/Canvas/shapes/Region/Region.js +150 -0
  221. package/dist/esm/Canvas/shapes/Region/Region.js.map +1 -0
  222. package/dist/esm/Canvas/shapes/Region/index.d.ts +3 -0
  223. package/dist/esm/Canvas/shapes/Region/index.d.ts.map +1 -0
  224. package/dist/esm/Canvas/shapes/Region/index.js +2 -0
  225. package/dist/esm/Canvas/shapes/Region/index.js.map +1 -0
  226. package/dist/esm/Canvas/useDragSelectionGuard.d.ts +2 -0
  227. package/dist/esm/Canvas/useDragSelectionGuard.d.ts.map +1 -0
  228. package/dist/esm/Canvas/useDragSelectionGuard.js +59 -0
  229. package/dist/esm/Canvas/useDragSelectionGuard.js.map +1 -0
  230. package/dist/esm/Canvas/zoomMechanism.d.ts +4 -0
  231. package/dist/esm/Canvas/zoomMechanism.d.ts.map +1 -0
  232. package/dist/esm/Canvas/zoomMechanism.js +58 -0
  233. package/dist/esm/Canvas/zoomMechanism.js.map +1 -0
  234. package/dist/esm/CommandDialog/CommandDialog.d.ts +3 -6
  235. package/dist/esm/CommandDialog/CommandDialog.d.ts.map +1 -1
  236. package/dist/esm/CommandDialog/CommandDialog.js +3 -2
  237. package/dist/esm/CommandDialog/CommandDialog.js.map +1 -1
  238. package/dist/esm/CommandDialog/CommandStepper.d.ts.map +1 -1
  239. package/dist/esm/CommandDialog/CommandStepper.js +3 -2
  240. package/dist/esm/CommandDialog/CommandStepper.js.map +1 -1
  241. package/dist/esm/CommandForm/commandFormMarkers.d.ts +12 -0
  242. package/dist/esm/CommandForm/commandFormMarkers.d.ts.map +1 -0
  243. package/dist/esm/CommandForm/commandFormMarkers.js +69 -0
  244. package/dist/esm/CommandForm/commandFormMarkers.js.map +1 -0
  245. package/dist/esm/CommandForm/fields/CalendarField.d.ts +1 -1
  246. package/dist/esm/CommandForm/fields/CalendarField.d.ts.map +1 -1
  247. package/dist/esm/CommandForm/fields/CheckboxField.d.ts +1 -1
  248. package/dist/esm/CommandForm/fields/CheckboxField.d.ts.map +1 -1
  249. package/dist/esm/CommandForm/fields/ChipsField.d.ts +1 -1
  250. package/dist/esm/CommandForm/fields/ChipsField.d.ts.map +1 -1
  251. package/dist/esm/CommandForm/fields/ColorPickerField.d.ts +1 -1
  252. package/dist/esm/CommandForm/fields/ColorPickerField.d.ts.map +1 -1
  253. package/dist/esm/CommandForm/fields/DropdownField.d.ts +1 -1
  254. package/dist/esm/CommandForm/fields/DropdownField.d.ts.map +1 -1
  255. package/dist/esm/CommandForm/fields/InputTextField.d.ts +1 -1
  256. package/dist/esm/CommandForm/fields/InputTextField.d.ts.map +1 -1
  257. package/dist/esm/CommandForm/fields/MultiSelectField.d.ts +1 -1
  258. package/dist/esm/CommandForm/fields/MultiSelectField.d.ts.map +1 -1
  259. package/dist/esm/CommandForm/fields/NumberField.d.ts +1 -1
  260. package/dist/esm/CommandForm/fields/NumberField.d.ts.map +1 -1
  261. package/dist/esm/CommandForm/fields/PasswordField.d.ts +1 -1
  262. package/dist/esm/CommandForm/fields/PasswordField.d.ts.map +1 -1
  263. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts +1 -1
  264. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts.map +1 -1
  265. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts +1 -1
  266. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts.map +1 -1
  267. package/dist/esm/CommandForm/fields/RatingField.d.ts +1 -1
  268. package/dist/esm/CommandForm/fields/RatingField.d.ts.map +1 -1
  269. package/dist/esm/CommandForm/fields/SliderField.d.ts +1 -1
  270. package/dist/esm/CommandForm/fields/SliderField.d.ts.map +1 -1
  271. package/dist/esm/CommandForm/fields/TextAreaField.d.ts +1 -1
  272. package/dist/esm/CommandForm/fields/TextAreaField.d.ts.map +1 -1
  273. package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts +1 -1
  274. package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts.map +1 -1
  275. package/dist/esm/CommandForm/index.d.ts +1 -0
  276. package/dist/esm/CommandForm/index.d.ts.map +1 -1
  277. package/dist/esm/CommandForm/index.js +1 -0
  278. package/dist/esm/CommandForm/index.js.map +1 -1
  279. package/dist/esm/Common/CratisComponentsProvider.js +1 -1
  280. package/dist/esm/Common/DatePickerInput.d.ts +11 -4
  281. package/dist/esm/Common/DatePickerInput.d.ts.map +1 -1
  282. package/dist/esm/Common/DatePickerInput.js +18 -2
  283. package/dist/esm/Common/DatePickerInput.js.map +1 -1
  284. package/dist/esm/Common/ErrorBoundary.d.ts +1 -1
  285. package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.d.ts +3 -0
  286. package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.d.ts.map +1 -0
  287. package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.js +2 -0
  288. package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.js.map +1 -0
  289. package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.d.ts +3 -0
  290. package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.d.ts.map +1 -0
  291. package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.js +49 -0
  292. package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.js.map +1 -0
  293. package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.d.ts +369 -0
  294. package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.d.ts.map +1 -0
  295. package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.js +271 -0
  296. package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.js.map +1 -0
  297. package/dist/esm/Compatibility/index.d.ts +5 -0
  298. package/dist/esm/Compatibility/index.d.ts.map +1 -0
  299. package/dist/esm/Compatibility/index.js +7 -0
  300. package/dist/esm/Compatibility/index.js.map +1 -0
  301. package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.d.ts +8 -0
  302. package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.d.ts.map +1 -0
  303. package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.js +48 -0
  304. package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.js.map +1 -0
  305. package/dist/esm/DataPage/DataPage.d.ts +4 -4
  306. package/dist/esm/DataPage/DataPage.d.ts.map +1 -1
  307. package/dist/esm/DataPage/DataPage.js +6 -10
  308. package/dist/esm/DataPage/DataPage.js.map +1 -1
  309. package/dist/esm/DataTables/Column.d.ts +3 -1
  310. package/dist/esm/DataTables/Column.d.ts.map +1 -1
  311. package/dist/esm/DataTables/Column.js.map +1 -1
  312. package/dist/esm/DataTables/ColumnFilterMenu.d.ts +22 -2
  313. package/dist/esm/DataTables/ColumnFilterMenu.d.ts.map +1 -1
  314. package/dist/esm/DataTables/ColumnFilterMenu.js +50 -13
  315. package/dist/esm/DataTables/ColumnFilterMenu.js.map +1 -1
  316. package/dist/esm/DataTables/DataTableCore.d.ts.map +1 -1
  317. package/dist/esm/DataTables/DataTableCore.js +22 -3
  318. package/dist/esm/DataTables/DataTableCore.js.map +1 -1
  319. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts +14 -0
  320. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts.map +1 -0
  321. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.js +67 -0
  322. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.js.map +1 -0
  323. package/dist/esm/DataTables/DataTableFilterMeta.d.ts +26 -1
  324. package/dist/esm/DataTables/DataTableFilterMeta.d.ts.map +1 -1
  325. package/dist/esm/DataTables/DataTableFilterMeta.js +24 -2
  326. package/dist/esm/DataTables/DataTableFilterMeta.js.map +1 -1
  327. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts +3 -3
  328. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts.map +1 -1
  329. package/dist/esm/DataTables/DataTableForObservableQuery.js +9 -3
  330. package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -1
  331. package/dist/esm/DataTables/DataTableForQuery.d.ts +3 -3
  332. package/dist/esm/DataTables/DataTableForQuery.d.ts.map +1 -1
  333. package/dist/esm/DataTables/DataTableForQuery.js +8 -2
  334. package/dist/esm/DataTables/DataTableForQuery.js.map +1 -1
  335. package/dist/esm/DataTables/TablePaginator.d.ts +1 -1
  336. package/dist/esm/DataTables/TablePaginator.d.ts.map +1 -1
  337. package/dist/esm/DataTables/TablePaginator.js +13 -4
  338. package/dist/esm/DataTables/TablePaginator.js.map +1 -1
  339. package/dist/esm/DataTables/index.d.ts +1 -0
  340. package/dist/esm/DataTables/index.d.ts.map +1 -1
  341. package/dist/esm/DataTables/index.js +3 -1
  342. package/dist/esm/DataTables/index.js.map +1 -1
  343. package/dist/esm/Dialogs/Dialog.d.ts +2 -2
  344. package/dist/esm/Dialogs/Dialog.d.ts.map +1 -1
  345. package/dist/esm/Dialogs/Dialog.js +16 -18
  346. package/dist/esm/Dialogs/Dialog.js.map +1 -1
  347. package/dist/esm/Dropdown/Dropdown.d.ts +4 -2
  348. package/dist/esm/Dropdown/Dropdown.d.ts.map +1 -1
  349. package/dist/esm/Dropdown/Dropdown.js +8 -3
  350. package/dist/esm/Dropdown/Dropdown.js.map +1 -1
  351. package/dist/esm/Filter/FilterPanel.d.ts.map +1 -1
  352. package/dist/esm/Filter/FilterPanel.js +1 -1
  353. package/dist/esm/Filter/FilterPanel.js.map +1 -1
  354. package/dist/esm/Filter/RangeHistogramFilter.d.ts +4 -3
  355. package/dist/esm/Filter/RangeHistogramFilter.d.ts.map +1 -1
  356. package/dist/esm/Filter/RangeHistogramFilter.js +4 -23
  357. package/dist/esm/Filter/RangeHistogramFilter.js.map +1 -1
  358. package/dist/esm/Filter/index.d.ts +3 -2
  359. package/dist/esm/Filter/index.d.ts.map +1 -1
  360. package/dist/esm/Filter/index.js +1 -1
  361. package/dist/esm/Filter/types.d.ts +7 -1
  362. package/dist/esm/Filter/types.d.ts.map +1 -1
  363. package/dist/esm/Filter/utils.d.ts +5 -1
  364. package/dist/esm/Filter/utils.d.ts.map +1 -1
  365. package/dist/esm/Filter/utils.js +33 -1
  366. package/dist/esm/Filter/utils.js.map +1 -1
  367. package/dist/esm/Notifications/Toaster.d.ts +8 -1
  368. package/dist/esm/Notifications/Toaster.d.ts.map +1 -1
  369. package/dist/esm/Notifications/Toaster.js +16 -10
  370. package/dist/esm/Notifications/Toaster.js.map +1 -1
  371. package/dist/esm/Notifications/index.js +1 -1
  372. package/dist/esm/Notifications/toast.d.ts +52 -2
  373. package/dist/esm/Notifications/toast.d.ts.map +1 -1
  374. package/dist/esm/Notifications/toast.js +100 -2
  375. package/dist/esm/Notifications/toast.js.map +1 -1
  376. package/dist/esm/Notifications/toastCommandResult.js +2 -2
  377. package/dist/esm/Notifications/toastCommandResult.js.map +1 -1
  378. package/dist/esm/PatrickHand-latin-ext.woff2 +0 -0
  379. package/dist/esm/PatrickHand-latin.woff2 +0 -0
  380. package/dist/esm/PatrickHand-vietnamese.woff2 +0 -0
  381. package/dist/esm/index.d.ts +4 -1
  382. package/dist/esm/index.d.ts.map +1 -1
  383. package/dist/esm/index.js +42 -35
  384. package/dist/esm/index.js.map +1 -1
  385. package/dist/esm/styles.css +1285 -3
  386. package/package.json +16 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activeMentionQuery.js","sources":["../../../../../../Canvas/shapes/ChatBubble/Mentions/activeMentionQuery.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AAIA;;;;AAIG;AACH,MAAM,gBAAgB,GAAG,EAAE;AAE3B;;;;;AAKG;MACU,kBAAkB,GAAG,CAAC,IAAY,EAAE,KAAa,KAAyB;IACnF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC;AACrC,IAAA,IAAI,KAAK,GAAG,CAAC,EAAE;AACX,QAAA,OAAO,IAAI;IACf;;AAGA,IAAA,MAAM,SAAS,GAAG,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AACtD,IAAA,IAAI,SAAS,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AAC3C,QAAA,OAAO,IAAI;IACf;IAEA,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;AACrC,IAAA,IAAI,KAAK,CAAC,MAAM,GAAG,gBAAgB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACzD,QAAA,OAAO,IAAI;IACf;AAEA,IAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;AACjC;;;;"}
@@ -0,0 +1,7 @@
1
+ import type { MentionQuery } from './MentionQuery';
2
+ export interface MentionApplied {
3
+ text: string;
4
+ caret: number;
5
+ }
6
+ export declare const applyMention: (text: string, caret: number, query: MentionQuery, name: string) => MentionApplied;
7
+ //# sourceMappingURL=applyMention.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyMention.d.ts","sourceRoot":"","sources":["../../../../../../Canvas/shapes/ChatBubble/Mentions/applyMention.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAKnD,MAAM,WAAW,cAAc;IAG3B,IAAI,EAAE,MAAM,CAAC;IAGb,KAAK,EAAE,MAAM,CAAC;CACjB;AAUD,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,EAAE,OAAO,YAAY,EAAE,MAAM,MAAM,KAAG,cAU7F,CAAC"}
@@ -0,0 +1,23 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ /**
4
+ * Replaces the mention being typed with the chosen name.
5
+ * @param text The full text of the input.
6
+ * @param caret The caret position within it.
7
+ * @param query The mention being typed, as found by activeMentionQuery.
8
+ * @param name The name that was chosen.
9
+ * @returns The text to show and where to put the caret.
10
+ */
11
+ const applyMention = (text, caret, query, name) => {
12
+ // A trailing space both separates the mention from what is typed next and closes the mention, so
13
+ // the candidate list does not immediately reopen on the name that was just chosen.
14
+ const mention = `@${name} `;
15
+ const after = text.slice(caret);
16
+ return {
17
+ text: `${text.slice(0, query.start)}${mention}${after}`,
18
+ caret: query.start + mention.length,
19
+ };
20
+ };
21
+
22
+ export { applyMention };
23
+ //# sourceMappingURL=applyMention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyMention.js","sources":["../../../../../../Canvas/shapes/ChatBubble/Mentions/applyMention.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AAgBA;;;;;;;AAOG;AACI,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,KAAmB,EAAE,IAAY,KAAoB;;;AAG3G,IAAA,MAAM,OAAO,GAAG,CAAA,CAAA,EAAI,IAAI,GAAG;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAE/B,OAAO;AACH,QAAA,IAAI,EAAE,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA,EAAG,OAAO,CAAA,EAAG,KAAK,CAAA,CAAE;AACvD,QAAA,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM;KACtC;AACL;;;;"}
@@ -0,0 +1,7 @@
1
+ export * from './MentionCandidate';
2
+ export * from './MentionQuery';
3
+ export * from './MentionSuggestions';
4
+ export * from './activeMentionQuery';
5
+ export * from './applyMention';
6
+ export * from './matchCandidates';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../Canvas/shapes/ChatBubble/Mentions/index.ts"],"names":[],"mappings":"AAGA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './MentionCandidate';
2
+ export * from './MentionQuery';
3
+ export * from './MentionSuggestions';
4
+ export * from './activeMentionQuery';
5
+ export * from './applyMention';
6
+ export * from './matchCandidates';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../Canvas/shapes/ChatBubble/Mentions/index.ts"],"names":[],"mappings":"AAGA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { MentionCandidate } from './MentionCandidate';
2
+ export declare const matchCandidates: (candidates: MentionCandidate[], query: string) => MentionCandidate[];
3
+ //# sourceMappingURL=matchCandidates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchCandidates.d.ts","sourceRoot":"","sources":["../../../../../../Canvas/shapes/ChatBubble/Mentions/matchCandidates.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAW3D,eAAO,MAAM,eAAe,GAAI,YAAY,gBAAgB,EAAE,EAAE,OAAO,MAAM,KAAG,gBAAgB,EAY/F,CAAC"}
@@ -0,0 +1,24 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ /** How many candidates the list shows at once, so it never covers the conversation. */
4
+ const MAX_SUGGESTIONS = 6;
5
+ /**
6
+ * Narrows the people and agents that can be mentioned down to those matching what has been typed.
7
+ * @param candidates Everyone who could be mentioned.
8
+ * @param query What has been typed after the `@`.
9
+ * @returns The matching candidates, those whose name starts with the query first.
10
+ */
11
+ const matchCandidates = (candidates, query) => {
12
+ const needle = query.trim().toLowerCase();
13
+ const matching = needle.length === 0
14
+ ? candidates
15
+ : candidates.filter(candidate => candidate.name.toLowerCase().includes(needle));
16
+ // A name that starts with what was typed is almost always the one being reached for, so it comes
17
+ // first; everything else keeps the order it was given in.
18
+ const startsWith = matching.filter(candidate => candidate.name.toLowerCase().startsWith(needle));
19
+ const contains = matching.filter(candidate => !candidate.name.toLowerCase().startsWith(needle));
20
+ return [...startsWith, ...contains].slice(0, MAX_SUGGESTIONS);
21
+ };
22
+
23
+ export { matchCandidates };
24
+ //# sourceMappingURL=matchCandidates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchCandidates.js","sources":["../../../../../../Canvas/shapes/ChatBubble/Mentions/matchCandidates.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AAIA;AACA,MAAM,eAAe,GAAG,CAAC;AAEzB;;;;;AAKG;MACU,eAAe,GAAG,CAAC,UAA8B,EAAE,KAAa,KAAwB;IACjG,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;AACzC,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK;AAC/B,UAAE;UACA,UAAU,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;;;IAInF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAChG,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAE/F,IAAA,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;AACjE;;;;"}
@@ -0,0 +1,6 @@
1
+ import type { ChatMessageReaction } from './ChatMessageReaction';
2
+ export interface MessageReactionsProps {
3
+ reactions: ChatMessageReaction[];
4
+ }
5
+ export declare const MessageReactions: ({ reactions }: MessageReactionsProps) => import("react").JSX.Element | null;
6
+ //# sourceMappingURL=MessageReactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageReactions.d.ts","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/MessageReactions.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAIjE,MAAM,WAAW,qBAAqB;IAOlC,SAAS,EAAE,mBAAmB,EAAE,CAAC;CACpC;AA+DD,eAAO,MAAM,gBAAgB,GAAI,eAAe,qBAAqB,uCAUpE,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { useRef, useState } from 'react';
3
+ import { AnchoredOverlay } from './AnchoredOverlay.js';
4
+
5
+ const MAX_STACKED_GLYPHS = 3;
6
+ /**
7
+ * One emoji's badge. Who gave it is shown on hover — that is the whole mechanism, so there is nothing
8
+ * to discover and nothing extra to click. Clicking pins the same list open, which is what makes it
9
+ * reachable on a touch screen, where there is no hover to rely on.
10
+ */
11
+ const ReactionBadge = ({ reaction }) => {
12
+ const anchorRef = useRef(null);
13
+ const [isHovered, setIsHovered] = useState(false);
14
+ const [isPinned, setIsPinned] = useState(false);
15
+ return (jsxs("div", { ref: anchorRef, className: 'message-reactions__badge-wrapper', onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [jsxs("button", { type: 'button', className: 'message-reactions__badge', onFocus: () => setIsHovered(true), onBlur: () => setIsHovered(false), onClick: () => setIsPinned(pinned => !pinned), children: [jsx("span", { className: 'message-reactions__stack', children: reaction.users.slice(0, MAX_STACKED_GLYPHS).map((user, index) => (jsx("span", { className: 'message-reactions__glyph', style: { zIndex: MAX_STACKED_GLYPHS - index }, children: reaction.emoji }, user.id.toString()))) }), reaction.users.length > 1 && (jsx("span", { className: 'message-reactions__count', children: reaction.users.length }))] }), jsx(AnchoredOverlay, { anchorRef: anchorRef, open: isHovered || isPinned, side: 'above', align: 'left', gap: 6, children: jsx("div", { className: 'message-reactions__tooltip', role: 'tooltip', children: reaction.users.map(user => (jsxs("div", { className: 'message-reactions__tooltip-row', children: [jsx("span", { className: 'message-reactions__tooltip-emoji', children: reaction.emoji }), jsx("span", { className: 'message-reactions__tooltip-name', children: user.name })] }, user.id.toString()))) }) })] }));
16
+ };
17
+ /**
18
+ * The row of emoji badges a message's reactions render as, sitting below the message text. Each badge
19
+ * says who is behind it on hover, emoji on the left and name on the right, one line per person.
20
+ */
21
+ const MessageReactions = ({ reactions }) => {
22
+ if (reactions.length === 0)
23
+ return null;
24
+ return (jsx("div", { className: 'message-reactions', children: reactions.map(reaction => (jsx(ReactionBadge, { reaction: reaction }, reaction.emoji))) }));
25
+ };
26
+
27
+ export { MessageReactions };
28
+ //# sourceMappingURL=MessageReactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageReactions.js","sources":["../../../../../Canvas/shapes/ChatBubble/MessageReactions.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;AAOA,MAAM,kBAAkB,GAAG,CAAC;AAkB5B;;;;AAIG;AACH,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAsB,KAAI;AACvD,IAAA,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC;IAC9C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IACjD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAE/C,QACIA,IAAA,CAAA,KAAA,EAAA,EACI,GAAG,EAAE,SAAS,EACd,SAAS,EAAC,kCAAkC,EAC5C,YAAY,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,EACtC,YAAY,EAAE,MAAM,YAAY,CAAC,KAAK,CAAC,EAAA,QAAA,EAAA,CAEvCA,IAAA,CAAA,QAAA,EAAA,EACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,EACjC,MAAM,EAAE,MAAM,YAAY,CAAC,KAAK,CAAC,EACjC,OAAO,EAAE,MAAM,WAAW,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,aAE7CC,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,0BAA0B,EAAA,QAAA,EACrC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MACzDA,GAAA,CAAA,MAAA,EAAA,EAA+B,SAAS,EAAC,0BAA0B,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,kBAAkB,GAAG,KAAK,EAAE,EAAA,QAAA,EAC5G,QAAQ,CAAC,KAAK,IADR,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAEtB,CACV,CAAC,EAAA,CACC,EACN,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,KACtBA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,0BAA0B,EAAA,QAAA,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAA,CAAQ,CAC5E,CAAA,EAAA,CACI,EAGTA,GAAA,CAAC,eAAe,EAAA,EAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,QAAQ,EAAE,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,MAAM,EAAC,GAAG,EAAE,CAAC,EAAA,QAAA,EAChGA,aAAK,SAAS,EAAC,4BAA4B,EAAC,IAAI,EAAC,SAAS,EAAA,QAAA,EACrD,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KACpBD,IAAA,CAAA,KAAA,EAAA,EAA8B,SAAS,EAAC,gCAAgC,EAAA,QAAA,EAAA,CACpEC,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,kCAAkC,EAAA,QAAA,EAAE,QAAQ,CAAC,KAAK,EAAA,CAAQ,EAC1EA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,iCAAiC,EAAA,QAAA,EAAE,IAAI,CAAC,IAAI,EAAA,CAAQ,CAAA,EAAA,EAF9D,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAGtB,CACT,CAAC,EAAA,CACA,EAAA,CACQ,CAAA,EAAA,CAChB;AAEd,CAAC;AAED;;;AAGG;MACU,gBAAgB,GAAG,CAAC,EAAE,SAAS,EAAyB,KAAI;AACrE,IAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;AAAE,QAAA,OAAO,IAAI;AAEvC,IAAA,QACIA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAC7B,SAAS,CAAC,GAAG,CAAC,QAAQ,KACnBA,GAAA,CAAC,aAAa,EAAA,EAAsB,QAAQ,EAAE,QAAQ,EAAA,EAAlC,QAAQ,CAAC,KAAK,CAAwB,CAC7D,CAAC,EAAA,CACA;AAEd;;;;"}
@@ -0,0 +1,20 @@
1
+ import { RefObject } from 'react';
2
+ import { type EmojiPickerLabels } from './Emoji/EmojiPicker';
3
+ import type { EmojiMemory } from './Emoji/EmojiMemory';
4
+ import type { ChatMessageReaction } from './ChatMessageReaction';
5
+ export interface ReactionPickerLabels {
6
+ pickEmoji?: string;
7
+ allEmojis?: string;
8
+ emojiPicker?: EmojiPickerLabels;
9
+ }
10
+ export interface ReactionPickerProps {
11
+ ownEmoji?: string;
12
+ reactions?: readonly ChatMessageReaction[];
13
+ memory?: EmojiMemory;
14
+ anchorRef?: RefObject<HTMLElement | null>;
15
+ onPick: (emoji: string) => void;
16
+ onDismiss: () => void;
17
+ labels?: ReactionPickerLabels;
18
+ }
19
+ export declare const ReactionPicker: ({ ownEmoji, reactions, memory, anchorRef, onPick, onDismiss, labels }: ReactionPickerProps) => import("react").JSX.Element;
20
+ //# sourceMappingURL=ReactionPicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactionPicker.d.ts","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/ReactionPicker.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAA+B,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAIjE,MAAM,WAAW,oBAAoB;IAEjC,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAGhC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAMlB,SAAS,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAM3C,MAAM,CAAC,EAAE,WAAW,CAAC;IAOrB,SAAS,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAG1C,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAGhC,SAAS,EAAE,MAAM,IAAI,CAAC;IAGtB,MAAM,CAAC,EAAE,oBAAoB,CAAC;CACjC;AAUD,eAAO,MAAM,cAAc,GAAI,uEAA4E,mBAAmB,gCA0E7H,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useRef, useState, useEffect } from 'react';
3
+ import { EmojiPicker } from './Emoji/EmojiPicker.js';
4
+ import { recentEmojis, rememberEmoji } from './Emoji/recentEmojis.js';
5
+
6
+ /**
7
+ * The popover a reaction button opens: the emojis this person reached for most recently, and a muted
8
+ * button at the end that opens the full picker — the shape Apple's tapback bar established, where the
9
+ * quick row answers almost every reaction and the rest is one click further away.
10
+ *
11
+ * Picking the emoji already given is how a reaction is taken back; the caller decides
12
+ * give/change/revoke from what was clicked.
13
+ */
14
+ const ReactionPicker = ({ ownEmoji, reactions = [], memory, anchorRef, onPick, onDismiss, labels }) => {
15
+ const rootRef = useRef(null);
16
+ const store = memory ?? (typeof window === 'undefined' ? undefined : window.localStorage);
17
+ const [quickEmojis, setQuickEmojis] = useState(() => store ? recentEmojis(store) : []);
18
+ const [showingAll, setShowingAll] = useState(false);
19
+ useEffect(() => {
20
+ const handlePointerDown = (event) => {
21
+ const target = event.target;
22
+ if (rootRef.current?.contains(target) || anchorRef?.current?.contains(target))
23
+ return;
24
+ onDismiss();
25
+ };
26
+ const handleKeyDown = (event) => {
27
+ if (event.key === 'Escape')
28
+ onDismiss();
29
+ };
30
+ // Capture phase, so board items that stop pointerdown propagation for their own
31
+ // gestures still dismiss the picker.
32
+ document.addEventListener('pointerdown', handlePointerDown, true);
33
+ document.addEventListener('keydown', handleKeyDown);
34
+ return () => {
35
+ document.removeEventListener('pointerdown', handlePointerDown, true);
36
+ document.removeEventListener('keydown', handleKeyDown);
37
+ };
38
+ }, [onDismiss, anchorRef]);
39
+ const pick = (emoji) => {
40
+ // Remembered before it is handed on: the caller closes the picker, and the row has to already
41
+ // be in its new order the next time it opens.
42
+ if (store)
43
+ setQuickEmojis(rememberEmoji(store, emoji));
44
+ onPick(emoji);
45
+ };
46
+ return (jsxs("div", { ref: rootRef, className: 'reaction-picker', children: [jsxs("div", { className: 'reaction-picker__quick', role: 'listbox', "aria-label": labels?.pickEmoji ?? 'Pick an emoji', children: [quickEmojis.map(emoji => (jsx("button", { type: 'button', role: 'option', "aria-selected": emoji === ownEmoji, className: `reaction-picker__item${emoji === ownEmoji ? ' reaction-picker__item--selected' : ''}`, onMouseDown: event => event.preventDefault(), onClick: () => pick(emoji), children: emoji }, emoji))), jsx("button", { type: 'button', className: `reaction-picker__more${showingAll ? ' reaction-picker__more--open' : ''}`, title: labels?.allEmojis ?? 'All emojis', "aria-label": labels?.allEmojis ?? 'All emojis', "aria-expanded": showingAll, onMouseDown: event => event.preventDefault(), onClick: () => setShowingAll(open => !open), children: "\u263A" })] }), showingAll && jsx(EmojiPicker, { ownEmoji: ownEmoji, onPick: pick, labels: labels?.emojiPicker }), !showingAll && reactions.length > 0 && (jsx("div", { className: 'reaction-picker__given', children: reactions.flatMap(reaction => reaction.users.map(user => (jsxs("div", { className: 'reaction-picker__given-row', children: [jsx("span", { className: 'reaction-picker__given-emoji', children: reaction.emoji }), jsx("span", { className: 'reaction-picker__given-name', children: user.name })] }, `${reaction.emoji}-${user.id.toString()}`)))) }))] }));
47
+ };
48
+
49
+ export { ReactionPicker };
50
+ //# sourceMappingURL=ReactionPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactionPicker.js","sources":["../../../../../Canvas/shapes/ChatBubble/ReactionPicker.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type BuildAvatarUrlParams } from './Avatar';
2
+ import type { ChatTypingAuthor } from './ChatTypingAuthor';
3
+ export interface TypingIndicatorProps {
4
+ authors: ChatTypingAuthor[];
5
+ label: string;
6
+ buildAvatarUrl?: (params: BuildAvatarUrlParams) => string;
7
+ }
8
+ export declare const TypingIndicator: ({ authors, label, buildAvatarUrl }: TypingIndicatorProps) => import("react").JSX.Element | null;
9
+ //# sourceMappingURL=TypingIndicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypingIndicator.d.ts","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/TypingIndicator.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAsB,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,WAAW,oBAAoB;IAGjC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAG5B,KAAK,EAAE,MAAM,CAAC;IAGd,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,MAAM,CAAC;CAC7D;AAOD,eAAO,MAAM,eAAe,GAAI,oCAAoC,oBAAoB,uCA4BvF,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { PersonAvatarCircle } from './Avatar/PersonAvatarCircle.js';
3
+ import { ChatAuthorKind } from './ChatAuthorKind.js';
4
+
5
+ /**
6
+ * The classic jumping dots, shown while somebody is composing a message — a person typing or an
7
+ * agent working on its answer. Both read the same way on purpose: an agent at work is a teammate
8
+ * mid-sentence, not a spinner.
9
+ */
10
+ const TypingIndicator = ({ authors, label, buildAvatarUrl }) => {
11
+ if (authors.length === 0) {
12
+ return null;
13
+ }
14
+ return (jsxs("div", { className: 'chat-typing', "aria-live": 'polite', children: [jsx("div", { className: 'chat-typing__authors', children: authors.map(author => (jsx(PersonAvatarCircle, { userId: author.id, name: author.name, hasAvatar: author.hasAvatar, size: 18, ownerType: author.kind === ChatAuthorKind.Agent ? 'Agents' : 'Users', buildAvatarUrl: buildAvatarUrl }, author.id))) }), jsx("span", { className: 'chat-typing__label', children: label }), jsxs("span", { className: 'chat-typing__dots', "aria-hidden": 'true', children: [jsx("span", { className: 'chat-typing__dot' }), jsx("span", { className: 'chat-typing__dot' }), jsx("span", { className: 'chat-typing__dot' })] })] }));
15
+ };
16
+
17
+ export { TypingIndicator };
18
+ //# sourceMappingURL=TypingIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypingIndicator.js","sources":["../../../../../Canvas/shapes/ChatBubble/TypingIndicator.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;AAmBA;;;;AAIG;AACI,MAAM,eAAe,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAwB,KAAI;AACxF,IAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,QAAA,OAAO,IAAI;IACf;IAEA,QACIA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,aAAa,eAAW,QAAQ,EAAA,QAAA,EAAA,CAC3CC,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sBAAsB,YAChC,OAAO,CAAC,GAAG,CAAC,MAAM,KACfA,GAAA,CAAC,kBAAkB,EAAA,EAEf,MAAM,EAAE,MAAM,CAAC,EAAE,EACjB,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,IAAI,EAAE,EAAE,EACR,SAAS,EAAE,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,KAAK,GAAG,QAAQ,GAAG,OAAO,EACpE,cAAc,EAAE,cAAc,EAAA,EANzB,MAAM,CAAC,EAAE,CAOhB,CACL,CAAC,EAAA,CACA,EACNA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAAE,KAAK,EAAA,CAAQ,EACnDD,eAAM,SAAS,EAAC,mBAAmB,EAAA,aAAA,EAAa,MAAM,EAAA,QAAA,EAAA,CAClDC,cAAM,SAAS,EAAC,kBAAkB,EAAA,CAAG,EACrCA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,kBAAkB,EAAA,CAAG,EACrCA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,kBAAkB,EAAA,CAAG,CAAA,EAAA,CAClC,CAAA,EAAA,CACL;AAEd;;;;"}
@@ -0,0 +1,5 @@
1
+ import type { Guid } from '@cratis/fundamentals';
2
+ import type { ChatMessageReaction } from './ChatMessageReaction';
3
+ import type { ChatOwnReaction } from './ChatOwnReaction';
4
+ export declare const findOwnReaction: (reactions: ChatMessageReaction[] | undefined, userId: Guid) => ChatOwnReaction | undefined;
5
+ //# sourceMappingURL=findOwnReaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findOwnReaction.d.ts","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/findOwnReaction.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAUzD,eAAO,MAAM,eAAe,GAAI,WAAW,mBAAmB,EAAE,GAAG,SAAS,EAAE,QAAQ,IAAI,KAAG,eAAe,GAAG,SAM9G,CAAC"}
@@ -0,0 +1,19 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ /**
4
+ * Finds the reaction a specific person gave to a message, if any. A person has at most one reaction
5
+ * per message, so the reaction button on their own bubble can show that single emoji instead of the
6
+ * generic reaction affordance, and a later pick can reuse the same reaction identifier to change it.
7
+ * @param reactions The message's reactions, grouped by emoji.
8
+ * @param userId The person to look for.
9
+ * @returns Their reaction, or undefined when they have not reacted.
10
+ */
11
+ const findOwnReaction = (reactions, userId) => {
12
+ const own = (reactions ?? [])
13
+ .flatMap(reaction => reaction.users.map(user => ({ user, emoji: reaction.emoji })))
14
+ .find(entry => entry.user.id.equals(userId));
15
+ return own ? { reactionId: own.user.reactionId, emoji: own.emoji } : undefined;
16
+ };
17
+
18
+ export { findOwnReaction };
19
+ //# sourceMappingURL=findOwnReaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findOwnReaction.js","sources":["../../../../../Canvas/shapes/ChatBubble/findOwnReaction.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AAMA;;;;;;;AAOG;MACU,eAAe,GAAG,CAAC,SAA4C,EAAE,MAAY,KAAiC;AACvH,IAAA,MAAM,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE;SACvB,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;AACjF,SAAA,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEhD,OAAO,GAAG,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,SAAS;AAClF;;;;"}
@@ -0,0 +1,31 @@
1
+ export { Chat } from './Chat';
2
+ export type { ChatProps, ChatLabels } from './Chat';
3
+ export { ChatAuthorKind } from './ChatAuthorKind';
4
+ export { ChatBubble } from './ChatBubble';
5
+ export type { ChatBubbleProps } from './ChatBubble';
6
+ export { ChatComposer } from './ChatComposer';
7
+ export type { ChatComposerProps, ChatComposerHandle, ChatComposerLabels } from './ChatComposer';
8
+ export type { ChatMessage } from './ChatMessage';
9
+ export { ChatMessageBubble } from './ChatMessageBubble';
10
+ export type { ChatMessageBubbleProps, ChatMessageBubbleLabels } from './ChatMessageBubble';
11
+ export type { ChatMessageReaction } from './ChatMessageReaction';
12
+ export type { ChatMessageReactionUser } from './ChatMessageReactionUser';
13
+ export type { ChatOwnReaction } from './ChatOwnReaction';
14
+ export type { ChatTypingAuthor } from './ChatTypingAuthor';
15
+ export { ChatVariant } from './ChatVariant';
16
+ export { FailedReply } from './FailedReply';
17
+ export type { FailedReplyProps, FailedReplyLabels, FailedReplyReportDetails } from './FailedReply';
18
+ export { findOwnReaction } from './findOwnReaction';
19
+ export { MessageReactions } from './MessageReactions';
20
+ export type { MessageReactionsProps } from './MessageReactions';
21
+ export { reactionsExcludingUser } from './reactionsExcludingUser';
22
+ export { ReactionPicker } from './ReactionPicker';
23
+ export type { ReactionPickerProps, ReactionPickerLabels } from './ReactionPicker';
24
+ export { TypingIndicator } from './TypingIndicator';
25
+ export type { TypingIndicatorProps } from './TypingIndicator';
26
+ export { AnchoredOverlay } from './AnchoredOverlay';
27
+ export type { AnchoredOverlayProps, AnchoredOverlaySide, AnchoredOverlayAlign } from './AnchoredOverlay';
28
+ export * from './Avatar';
29
+ export * from './Emoji';
30
+ export * from './Mentions';
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAChG,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC3F,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,YAAY,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzG,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
@@ -0,0 +1,17 @@
1
+ export { Chat } from './Chat';
2
+ export { ChatAuthorKind } from './ChatAuthorKind';
3
+ export { ChatBubble } from './ChatBubble';
4
+ export { ChatComposer } from './ChatComposer';
5
+ export { ChatMessageBubble } from './ChatMessageBubble';
6
+ export { ChatVariant } from './ChatVariant';
7
+ export { FailedReply } from './FailedReply';
8
+ export { findOwnReaction } from './findOwnReaction';
9
+ export { MessageReactions } from './MessageReactions';
10
+ export { reactionsExcludingUser } from './reactionsExcludingUser';
11
+ export { ReactionPicker } from './ReactionPicker';
12
+ export { TypingIndicator } from './TypingIndicator';
13
+ export { AnchoredOverlay } from './AnchoredOverlay';
14
+ export * from './Avatar';
15
+ export * from './Emoji';
16
+ export * from './Mentions';
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAMxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Guid } from '@cratis/fundamentals';
2
+ import type { ChatMessageReaction } from './ChatMessageReaction';
3
+ export declare const reactionsExcludingUser: (reactions: ChatMessageReaction[] | undefined, userId: Guid) => ChatMessageReaction[];
4
+ //# sourceMappingURL=reactionsExcludingUser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactionsExcludingUser.d.ts","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/reactionsExcludingUser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAUjE,eAAO,MAAM,sBAAsB,GAAI,WAAW,mBAAmB,EAAE,GAAG,SAAS,EAAE,QAAQ,IAAI,KAAG,mBAAmB,EAGjE,CAAC"}
@@ -0,0 +1,16 @@
1
+ // Copyright (c) Cratis. All rights reserved.
2
+ // Licensed under the MIT license. See LICENSE file in the project root for full license information.
3
+ /**
4
+ * The reactions to render as badges beside the reaction button — everyone's reaction except the given
5
+ * person's own, since their own reaction is shown by the button itself rather than repeated in the
6
+ * list. An emoji nobody but that person gave drops out entirely rather than rendering an empty badge.
7
+ * @param reactions The message's reactions, grouped by emoji.
8
+ * @param userId The person whose own reaction should not appear in the list.
9
+ * @returns The reactions to render, in the same emoji order as given.
10
+ */
11
+ const reactionsExcludingUser = (reactions, userId) => (reactions ?? [])
12
+ .map(reaction => ({ ...reaction, users: reaction.users.filter(user => !user.id.equals(userId)) }))
13
+ .filter(reaction => reaction.users.length > 0);
14
+
15
+ export { reactionsExcludingUser };
16
+ //# sourceMappingURL=reactionsExcludingUser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactionsExcludingUser.js","sources":["../../../../../Canvas/shapes/ChatBubble/reactionsExcludingUser.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AAKA;;;;;;;AAOG;AACI,MAAM,sBAAsB,GAAG,CAAC,SAA4C,EAAE,MAAY,KAC7F,CAAC,SAAS,IAAI,EAAE;AACX,KAAA,GAAG,CAAC,QAAQ,KAAK,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;AAChG,KAAA,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;;;;"}
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ export interface NoteData {
3
+ id: string;
4
+ x: number;
5
+ y: number;
6
+ width: number;
7
+ height: number;
8
+ text: string;
9
+ }
10
+ export interface NoteProps {
11
+ note: NoteData;
12
+ selected: boolean;
13
+ onSelect: (id: string, additive: boolean) => void;
14
+ onMove: (id: string, x: number, y: number) => void;
15
+ onMoveEnd?: (id: string) => void;
16
+ onResize: (id: string, x: number, y: number, width: number, height: number) => void;
17
+ onResizeEnd?: (id: string) => void;
18
+ onTextChange: (id: string, text: string) => void;
19
+ onExpandedChange?: (id: string, isExpanded: boolean) => void;
20
+ }
21
+ export declare const Note: React.FC<NoteProps>;
22
+ //# sourceMappingURL=Note.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Note.d.ts","sourceRoot":"","sources":["../../../../../Canvas/shapes/Note/Note.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAoE,MAAM,OAAO,CAAC;AAazF,MAAM,WAAW,QAAQ;IAErB,EAAE,EAAE,MAAM,CAAC;IAEX,CAAC,EAAE,MAAM,CAAC;IAEV,CAAC,EAAE,MAAM,CAAC;IAEV,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,EAAE,MAAM,CAAC;CAChB;AA0ED,MAAM,WAAW,SAAS;IAEtB,IAAI,EAAE,QAAQ,CAAC;IAEf,QAAQ,EAAE,OAAO,CAAC;IAMlB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAElD,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnD,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpF,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAOjD,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;CAChE;AAED,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAmSpC,CAAC"}