@cratis/components 3.4.0 → 3.5.1

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 (504) hide show
  1. package/README.md +148 -98
  2. package/dist/esm/Canvas/Canvas.d.ts +67 -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/CommandDialog/StepperCommandDialog.js.map +1 -1
  242. package/dist/esm/CommandDialog/StepperPanel.js.map +1 -1
  243. package/dist/esm/CommandDialog/applyBeforeExecute.js.map +1 -1
  244. package/dist/esm/CommandDialog/stepChildren.js.map +1 -1
  245. package/dist/esm/CommandForm/AutoCommandForm.js.map +1 -1
  246. package/dist/esm/CommandForm/commandFormMarkers.d.ts +12 -0
  247. package/dist/esm/CommandForm/commandFormMarkers.d.ts.map +1 -0
  248. package/dist/esm/CommandForm/commandFormMarkers.js +69 -0
  249. package/dist/esm/CommandForm/commandFormMarkers.js.map +1 -0
  250. package/dist/esm/CommandForm/defaultFieldTypeProviders.js.map +1 -1
  251. package/dist/esm/CommandForm/fieldTypeProviderRegistry.js.map +1 -1
  252. package/dist/esm/CommandForm/fields/CalendarField.d.ts +1 -1
  253. package/dist/esm/CommandForm/fields/CalendarField.d.ts.map +1 -1
  254. package/dist/esm/CommandForm/fields/CalendarField.js.map +1 -1
  255. package/dist/esm/CommandForm/fields/CheckboxField.d.ts +1 -1
  256. package/dist/esm/CommandForm/fields/CheckboxField.d.ts.map +1 -1
  257. package/dist/esm/CommandForm/fields/CheckboxField.js.map +1 -1
  258. package/dist/esm/CommandForm/fields/ChipsField.d.ts +1 -1
  259. package/dist/esm/CommandForm/fields/ChipsField.d.ts.map +1 -1
  260. package/dist/esm/CommandForm/fields/ChipsField.js.map +1 -1
  261. package/dist/esm/CommandForm/fields/ColorPickerField.d.ts +1 -1
  262. package/dist/esm/CommandForm/fields/ColorPickerField.d.ts.map +1 -1
  263. package/dist/esm/CommandForm/fields/ColorPickerField.js.map +1 -1
  264. package/dist/esm/CommandForm/fields/DropdownField.d.ts +1 -1
  265. package/dist/esm/CommandForm/fields/DropdownField.d.ts.map +1 -1
  266. package/dist/esm/CommandForm/fields/DropdownField.js.map +1 -1
  267. package/dist/esm/CommandForm/fields/InputTextField.d.ts +1 -1
  268. package/dist/esm/CommandForm/fields/InputTextField.d.ts.map +1 -1
  269. package/dist/esm/CommandForm/fields/InputTextField.js.map +1 -1
  270. package/dist/esm/CommandForm/fields/MultiSelectField.d.ts +1 -1
  271. package/dist/esm/CommandForm/fields/MultiSelectField.d.ts.map +1 -1
  272. package/dist/esm/CommandForm/fields/MultiSelectField.js.map +1 -1
  273. package/dist/esm/CommandForm/fields/NumberField.d.ts +1 -1
  274. package/dist/esm/CommandForm/fields/NumberField.d.ts.map +1 -1
  275. package/dist/esm/CommandForm/fields/NumberField.js.map +1 -1
  276. package/dist/esm/CommandForm/fields/PasswordField.d.ts +1 -1
  277. package/dist/esm/CommandForm/fields/PasswordField.d.ts.map +1 -1
  278. package/dist/esm/CommandForm/fields/PasswordField.js.map +1 -1
  279. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts +1 -1
  280. package/dist/esm/CommandForm/fields/RadioButtonField.d.ts.map +1 -1
  281. package/dist/esm/CommandForm/fields/RadioButtonField.js.map +1 -1
  282. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts +1 -1
  283. package/dist/esm/CommandForm/fields/RadioGroupField.d.ts.map +1 -1
  284. package/dist/esm/CommandForm/fields/RadioGroupField.js.map +1 -1
  285. package/dist/esm/CommandForm/fields/RatingField.d.ts +1 -1
  286. package/dist/esm/CommandForm/fields/RatingField.d.ts.map +1 -1
  287. package/dist/esm/CommandForm/fields/RatingField.js.map +1 -1
  288. package/dist/esm/CommandForm/fields/SliderField.d.ts +1 -1
  289. package/dist/esm/CommandForm/fields/SliderField.d.ts.map +1 -1
  290. package/dist/esm/CommandForm/fields/SliderField.js.map +1 -1
  291. package/dist/esm/CommandForm/fields/TextAreaField.d.ts +1 -1
  292. package/dist/esm/CommandForm/fields/TextAreaField.d.ts.map +1 -1
  293. package/dist/esm/CommandForm/fields/TextAreaField.js.map +1 -1
  294. package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts +1 -1
  295. package/dist/esm/CommandForm/fields/ToggleSwitchField.d.ts.map +1 -1
  296. package/dist/esm/CommandForm/fields/ToggleSwitchField.js.map +1 -1
  297. package/dist/esm/CommandForm/index.d.ts +1 -0
  298. package/dist/esm/CommandForm/index.d.ts.map +1 -1
  299. package/dist/esm/CommandForm/index.js +1 -0
  300. package/dist/esm/CommandForm/index.js.map +1 -1
  301. package/dist/esm/Common/ActionMenubar.js.map +1 -1
  302. package/dist/esm/Common/Button.js.map +1 -1
  303. package/dist/esm/Common/CratisComponentsProvider.js +1 -1
  304. package/dist/esm/Common/CratisComponentsProvider.js.map +1 -1
  305. package/dist/esm/Common/DatePickerInput.d.ts +11 -4
  306. package/dist/esm/Common/DatePickerInput.d.ts.map +1 -1
  307. package/dist/esm/Common/DatePickerInput.js +18 -2
  308. package/dist/esm/Common/DatePickerInput.js.map +1 -1
  309. package/dist/esm/Common/ErrorBoundary.d.ts +1 -1
  310. package/dist/esm/Common/ErrorBoundary.js.map +1 -1
  311. package/dist/esm/Common/FormElement.js.map +1 -1
  312. package/dist/esm/Common/Icon.js.map +1 -1
  313. package/dist/esm/Common/Page.js.map +1 -1
  314. package/dist/esm/Common/Tooltip.js.map +1 -1
  315. package/dist/esm/Common/normalizeIconClass.js.map +1 -1
  316. package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.d.ts +3 -0
  317. package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.d.ts.map +1 -0
  318. package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.js +2 -0
  319. package/dist/esm/Compatibility/PrimeReact11PassThroughComponent.js.map +1 -0
  320. package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.d.ts +3 -0
  321. package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.d.ts.map +1 -0
  322. package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.js +49 -0
  323. package/dist/esm/Compatibility/assertPrimeReact11PassThroughCompatibility.js.map +1 -0
  324. package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.d.ts +369 -0
  325. package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.d.ts.map +1 -0
  326. package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.js +271 -0
  327. package/dist/esm/Compatibility/components3PrimeReact11PassThroughContract.js.map +1 -0
  328. package/dist/esm/Compatibility/index.d.ts +5 -0
  329. package/dist/esm/Compatibility/index.d.ts.map +1 -0
  330. package/dist/esm/Compatibility/index.js +7 -0
  331. package/dist/esm/Compatibility/index.js.map +1 -0
  332. package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.d.ts +8 -0
  333. package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.d.ts.map +1 -0
  334. package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.js +48 -0
  335. package/dist/esm/Compatibility/primeReact11PassThroughSentinelPreset.js.map +1 -0
  336. package/dist/esm/DataPage/DataPage.d.ts +4 -4
  337. package/dist/esm/DataPage/DataPage.d.ts.map +1 -1
  338. package/dist/esm/DataPage/DataPage.js +6 -10
  339. package/dist/esm/DataPage/DataPage.js.map +1 -1
  340. package/dist/esm/DataPage/DataPageLayout.js.map +1 -1
  341. package/dist/esm/DataTables/Column.d.ts +3 -1
  342. package/dist/esm/DataTables/Column.d.ts.map +1 -1
  343. package/dist/esm/DataTables/Column.js.map +1 -1
  344. package/dist/esm/DataTables/ColumnFilterMenu.d.ts +22 -2
  345. package/dist/esm/DataTables/ColumnFilterMenu.d.ts.map +1 -1
  346. package/dist/esm/DataTables/ColumnFilterMenu.js +50 -13
  347. package/dist/esm/DataTables/ColumnFilterMenu.js.map +1 -1
  348. package/dist/esm/DataTables/DataTableCore.d.ts.map +1 -1
  349. package/dist/esm/DataTables/DataTableCore.js +22 -3
  350. package/dist/esm/DataTables/DataTableCore.js.map +1 -1
  351. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts +14 -0
  352. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.d.ts.map +1 -0
  353. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.js +67 -0
  354. package/dist/esm/DataTables/DataTableFilterMatcherRegistry.js.map +1 -0
  355. package/dist/esm/DataTables/DataTableFilterMeta.d.ts +26 -1
  356. package/dist/esm/DataTables/DataTableFilterMeta.d.ts.map +1 -1
  357. package/dist/esm/DataTables/DataTableFilterMeta.js +24 -2
  358. package/dist/esm/DataTables/DataTableFilterMeta.js.map +1 -1
  359. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts +3 -3
  360. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts.map +1 -1
  361. package/dist/esm/DataTables/DataTableForObservableQuery.js +9 -3
  362. package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -1
  363. package/dist/esm/DataTables/DataTableForQuery.d.ts +3 -3
  364. package/dist/esm/DataTables/DataTableForQuery.d.ts.map +1 -1
  365. package/dist/esm/DataTables/DataTableForQuery.js +8 -2
  366. package/dist/esm/DataTables/DataTableForQuery.js.map +1 -1
  367. package/dist/esm/DataTables/TablePaginator.d.ts +1 -1
  368. package/dist/esm/DataTables/TablePaginator.d.ts.map +1 -1
  369. package/dist/esm/DataTables/TablePaginator.js +13 -4
  370. package/dist/esm/DataTables/TablePaginator.js.map +1 -1
  371. package/dist/esm/DataTables/index.d.ts +1 -0
  372. package/dist/esm/DataTables/index.d.ts.map +1 -1
  373. package/dist/esm/DataTables/index.js +3 -1
  374. package/dist/esm/DataTables/index.js.map +1 -1
  375. package/dist/esm/DataTables/paginatorRange.js.map +1 -1
  376. package/dist/esm/DataTables/selectionKeys.js.map +1 -1
  377. package/dist/esm/Dialogs/BusyIndicatorDialog.js.map +1 -1
  378. package/dist/esm/Dialogs/ConfirmationDialog.js.map +1 -1
  379. package/dist/esm/Dialogs/Dialog.d.ts +2 -2
  380. package/dist/esm/Dialogs/Dialog.d.ts.map +1 -1
  381. package/dist/esm/Dialogs/Dialog.js +16 -18
  382. package/dist/esm/Dialogs/Dialog.js.map +1 -1
  383. package/dist/esm/Dialogs/DialogInitialFocus.js.map +1 -1
  384. package/dist/esm/Display/Avatar.js.map +1 -1
  385. package/dist/esm/Display/Badge.js.map +1 -1
  386. package/dist/esm/Display/Chip.js.map +1 -1
  387. package/dist/esm/Display/Message.js.map +1 -1
  388. package/dist/esm/Display/ProgressBar.js.map +1 -1
  389. package/dist/esm/Display/ProgressSpinner.js.map +1 -1
  390. package/dist/esm/Display/Skeleton.js.map +1 -1
  391. package/dist/esm/Display/Tag.js.map +1 -1
  392. package/dist/esm/Dropdown/Dropdown.d.ts +4 -2
  393. package/dist/esm/Dropdown/Dropdown.d.ts.map +1 -1
  394. package/dist/esm/Dropdown/Dropdown.js +8 -3
  395. package/dist/esm/Dropdown/Dropdown.js.map +1 -1
  396. package/dist/esm/Filter/FilterEditor.js.map +1 -1
  397. package/dist/esm/Filter/FilterPanel.d.ts.map +1 -1
  398. package/dist/esm/Filter/FilterPanel.js +1 -1
  399. package/dist/esm/Filter/FilterPanel.js.map +1 -1
  400. package/dist/esm/Filter/RangeHistogramFilter.d.ts +4 -3
  401. package/dist/esm/Filter/RangeHistogramFilter.d.ts.map +1 -1
  402. package/dist/esm/Filter/RangeHistogramFilter.js +4 -23
  403. package/dist/esm/Filter/RangeHistogramFilter.js.map +1 -1
  404. package/dist/esm/Filter/index.d.ts +3 -2
  405. package/dist/esm/Filter/index.d.ts.map +1 -1
  406. package/dist/esm/Filter/index.js +1 -1
  407. package/dist/esm/Filter/types.d.ts +7 -1
  408. package/dist/esm/Filter/types.d.ts.map +1 -1
  409. package/dist/esm/Filter/useFilterState.js.map +1 -1
  410. package/dist/esm/Filter/utils.d.ts +5 -1
  411. package/dist/esm/Filter/utils.d.ts.map +1 -1
  412. package/dist/esm/Filter/utils.js +33 -1
  413. package/dist/esm/Filter/utils.js.map +1 -1
  414. package/dist/esm/Notifications/Toaster.d.ts +8 -1
  415. package/dist/esm/Notifications/Toaster.d.ts.map +1 -1
  416. package/dist/esm/Notifications/Toaster.js +16 -10
  417. package/dist/esm/Notifications/Toaster.js.map +1 -1
  418. package/dist/esm/Notifications/index.js +1 -1
  419. package/dist/esm/Notifications/toast.d.ts +52 -2
  420. package/dist/esm/Notifications/toast.d.ts.map +1 -1
  421. package/dist/esm/Notifications/toast.js +100 -2
  422. package/dist/esm/Notifications/toast.js.map +1 -1
  423. package/dist/esm/Notifications/toastCommandResult.js +2 -2
  424. package/dist/esm/Notifications/toastCommandResult.js.map +1 -1
  425. package/dist/esm/ObjectContentEditor/ObjectContentEditor.js.map +1 -1
  426. package/dist/esm/ObjectContentEditor/objectHelpers.js.map +1 -1
  427. package/dist/esm/ObjectNavigationalBar/ObjectNavigationalBar.js.map +1 -1
  428. package/dist/esm/ObjectNavigationalBar/breadcrumbHelpers.js.map +1 -1
  429. package/dist/esm/PatrickHand-latin-ext.woff2 +0 -0
  430. package/dist/esm/PatrickHand-latin.woff2 +0 -0
  431. package/dist/esm/PatrickHand-vietnamese.woff2 +0 -0
  432. package/dist/esm/PivotViewer/PivotViewer.js.map +1 -1
  433. package/dist/esm/PivotViewer/components/AxisLabels.js.map +1 -1
  434. package/dist/esm/PivotViewer/components/DetailPanel.js.map +1 -1
  435. package/dist/esm/PivotViewer/components/FilterPanel.js.map +1 -1
  436. package/dist/esm/PivotViewer/components/FilterPanelContainer.js.map +1 -1
  437. package/dist/esm/PivotViewer/components/PivotCanvas.js.map +1 -1
  438. package/dist/esm/PivotViewer/components/PivotViewerMain.js.map +1 -1
  439. package/dist/esm/PivotViewer/components/Spinner.js.map +1 -1
  440. package/dist/esm/PivotViewer/components/Toolbar.js.map +1 -1
  441. package/dist/esm/PivotViewer/components/ToolbarContainer.js.map +1 -1
  442. package/dist/esm/PivotViewer/components/pivot/animation.js.map +1 -1
  443. package/dist/esm/PivotViewer/components/pivot/colorResolver.js.map +1 -1
  444. package/dist/esm/PivotViewer/components/pivot/constants.js.map +1 -1
  445. package/dist/esm/PivotViewer/components/pivot/groups.js.map +1 -1
  446. package/dist/esm/PivotViewer/components/pivot/sprites.js.map +1 -1
  447. package/dist/esm/PivotViewer/components/pivot/visibility.js.map +1 -1
  448. package/dist/esm/PivotViewer/constants.js.map +1 -1
  449. package/dist/esm/PivotViewer/engine/layout.js.map +1 -1
  450. package/dist/esm/PivotViewer/engine/store.js.map +1 -1
  451. package/dist/esm/PivotViewer/hooks/useAnimationModeTracking.js.map +1 -1
  452. package/dist/esm/PivotViewer/hooks/useCardSelection.js.map +1 -1
  453. package/dist/esm/PivotViewer/hooks/useContainerDimensions.js.map +1 -1
  454. package/dist/esm/PivotViewer/hooks/useCurrentFilters.js.map +1 -1
  455. package/dist/esm/PivotViewer/hooks/useDetailPanelClose.js.map +1 -1
  456. package/dist/esm/PivotViewer/hooks/useDimensionState.js.map +1 -1
  457. package/dist/esm/PivotViewer/hooks/useFieldExtractors.js.map +1 -1
  458. package/dist/esm/PivotViewer/hooks/useFilterOptions.js.map +1 -1
  459. package/dist/esm/PivotViewer/hooks/useFilterState.js.map +1 -1
  460. package/dist/esm/PivotViewer/hooks/usePanning.js.map +1 -1
  461. package/dist/esm/PivotViewer/hooks/usePivotEngine.js.map +1 -1
  462. package/dist/esm/PivotViewer/hooks/useScrollSync.js.map +1 -1
  463. package/dist/esm/PivotViewer/hooks/useViewModeScrollHandling.js.map +1 -1
  464. package/dist/esm/PivotViewer/hooks/useWheelZoom.js.map +1 -1
  465. package/dist/esm/PivotViewer/hooks/useZoomState.js.map +1 -1
  466. package/dist/esm/PivotViewer/types.js.map +1 -1
  467. package/dist/esm/PivotViewer/utils/animations.js.map +1 -1
  468. package/dist/esm/PivotViewer/utils/cardPosition.js.map +1 -1
  469. package/dist/esm/PivotViewer/utils/constants.js.map +1 -1
  470. package/dist/esm/PivotViewer/utils/idResolution.js.map +1 -1
  471. package/dist/esm/PivotViewer/utils/selection.js.map +1 -1
  472. package/dist/esm/PivotViewer/utils/utils.js.map +1 -1
  473. package/dist/esm/SchemaEditor/NameCell.js.map +1 -1
  474. package/dist/esm/SchemaEditor/SchemaEditor.js.map +1 -1
  475. package/dist/esm/SchemaEditor/TypeCell.js.map +1 -1
  476. package/dist/esm/SchemaEditor/schemaHelpers.js.map +1 -1
  477. package/dist/esm/Styled/CratisPreset.js.map +1 -1
  478. package/dist/esm/Styled/primeReactStyles.js.map +1 -1
  479. package/dist/esm/Styled/styledMode.js.map +1 -1
  480. package/dist/esm/TimeMachine/EventsView.js.map +1 -1
  481. package/dist/esm/TimeMachine/Properties.js.map +1 -1
  482. package/dist/esm/TimeMachine/ReadModelView.js.map +1 -1
  483. package/dist/esm/TimeMachine/TimeMachine.js.map +1 -1
  484. package/dist/esm/TimeMachine/TimeMachineLabels.js.map +1 -1
  485. package/dist/esm/TimeMachine/propertiesHelpers.js.map +1 -1
  486. package/dist/esm/Toolbar/Toolbar.js.map +1 -1
  487. package/dist/esm/Toolbar/ToolbarButton.js.map +1 -1
  488. package/dist/esm/Toolbar/ToolbarContext.js.map +1 -1
  489. package/dist/esm/Toolbar/ToolbarDragContext.js.map +1 -1
  490. package/dist/esm/Toolbar/ToolbarFanOutItem.js.map +1 -1
  491. package/dist/esm/Toolbar/ToolbarFolder.js.map +1 -1
  492. package/dist/esm/Toolbar/ToolbarFolderContext.js.map +1 -1
  493. package/dist/esm/Toolbar/ToolbarGroup.js.map +1 -1
  494. package/dist/esm/Toolbar/ToolbarLayout.js.map +1 -1
  495. package/dist/esm/Toolbar/ToolbarSection.js.map +1 -1
  496. package/dist/esm/Toolbar/ToolbarSeparator.js.map +1 -1
  497. package/dist/esm/Toolbar/ToolbarSlot.js.map +1 -1
  498. package/dist/esm/index.d.ts +4 -1
  499. package/dist/esm/index.d.ts.map +1 -1
  500. package/dist/esm/index.js +42 -35
  501. package/dist/esm/index.js.map +1 -1
  502. package/dist/esm/styles.css +1285 -3
  503. package/dist/esm/types/TypeFormat.js.map +1 -1
  504. package/package.json +16 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Chat.js","sources":["../../../../../Canvas/shapes/ChatBubble/Chat.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare enum ChatAuthorKind {
2
+ User = "user",
3
+ Agent = "agent"
4
+ }
5
+ //# sourceMappingURL=ChatAuthorKind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatAuthorKind.d.ts","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/ChatAuthorKind.ts"],"names":[],"mappings":"AAOA,oBAAY,cAAc;IACtB,IAAI,SAAS;IACb,KAAK,UAAU;CAClB"}
@@ -0,0 +1,14 @@
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
+ * What kind of team member wrote a message. Only the author's identifier is ever stored, so the kind
5
+ * is resolved when a conversation is rendered — it decides which avatar the message shows.
6
+ */
7
+ var ChatAuthorKind;
8
+ (function (ChatAuthorKind) {
9
+ ChatAuthorKind["User"] = "user";
10
+ ChatAuthorKind["Agent"] = "agent";
11
+ })(ChatAuthorKind || (ChatAuthorKind = {}));
12
+
13
+ export { ChatAuthorKind };
14
+ //# sourceMappingURL=ChatAuthorKind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatAuthorKind.js","sources":["../../../../../Canvas/shapes/ChatBubble/ChatAuthorKind.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AAEA;;;AAGG;IACS;AAAZ,CAAA,UAAY,cAAc,EAAA;AACtB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,cAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACnB,CAAC,EAHW,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;;"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import type { Guid } from '@cratis/fundamentals';
3
+ import { type BuildAvatarUrlParams } from './Avatar';
4
+ export interface ChatBubbleProps {
5
+ authorId: Guid | string;
6
+ authorName: string;
7
+ hasAvatar: boolean;
8
+ size?: number;
9
+ suppressPreview?: boolean;
10
+ previewMessage?: string;
11
+ previewTimestamp?: Date;
12
+ replyCount?: number;
13
+ showThinkingBubbles?: boolean;
14
+ selected?: boolean;
15
+ buildAvatarUrl?: (params: BuildAvatarUrlParams) => string;
16
+ }
17
+ export declare const ChatBubble: React.FC<ChatBubbleProps>;
18
+ //# sourceMappingURL=ChatBubble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatBubble.d.ts","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/ChatBubble.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAsC,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAgBzF,MAAM,WAAW,eAAe;IAE5B,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAC;IAExB,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,EAAE,OAAO,CAAC;IAEnB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,gBAAgB,CAAC,EAAE,IAAI,CAAC;IAExB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,MAAM,CAAC;CAC7D;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAgJhD,CAAC"}
@@ -0,0 +1,89 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useState, useRef, useEffect } from 'react';
3
+ import { PersonAvatarCircle } from './Avatar/PersonAvatarCircle.js';
4
+ import { getAvatarColor } from './Avatar/getAvatarColor.js';
5
+
6
+ const FONT = { fontFamily: 'system-ui, sans-serif' };
7
+ const PREVIEW_AUTHOR_NAME_MAX_LENGTH = 14;
8
+ const PREVIEW_MESSAGE_MAX_LENGTH = 60;
9
+ function formatTimestamp(date) {
10
+ const diffMs = Date.now() - date.getTime();
11
+ const diffMinutes = Math.floor(diffMs / 60_000);
12
+ if (diffMinutes < 1)
13
+ return 'just now';
14
+ if (diffMinutes < 60)
15
+ return `${diffMinutes}m ago`;
16
+ const diffHours = Math.floor(diffMinutes / 60);
17
+ if (diffHours < 24)
18
+ return `${diffHours}h ago`;
19
+ return date.toLocaleDateString(undefined, { month: 'short', day: 'numeric' });
20
+ }
21
+ const ChatBubble = ({ authorId, authorName, hasAvatar, size = 56, suppressPreview = false, previewMessage, previewTimestamp, replyCount, showThinkingBubbles = false, selected = false, buildAvatarUrl, }) => {
22
+ const [isHovered, setIsHovered] = useState(false);
23
+ // The thinking dots always use the person's deterministic color, even when an avatar image is
24
+ // shown, so they stay visually tied to the person rather than picking up an unrelated color.
25
+ const color = getAvatarColor(authorId.toString());
26
+ // Thinking-bubble animation state
27
+ const [dotsVisible, setDotsVisible] = useState(showThinkingBubbles);
28
+ const [dotsExiting, setDotsExiting] = useState(false);
29
+ const previousShowBubbles = useRef(false);
30
+ useEffect(() => {
31
+ if (showThinkingBubbles && !previousShowBubbles.current) {
32
+ setDotsExiting(false);
33
+ setDotsVisible(true);
34
+ }
35
+ else if (!showThinkingBubbles && previousShowBubbles.current) {
36
+ setDotsExiting(true);
37
+ }
38
+ previousShowBubbles.current = showThinkingBubbles;
39
+ }, [showThinkingBubbles]);
40
+ const handleDotsAnimationEnd = () => {
41
+ if (dotsExiting) {
42
+ setDotsVisible(false);
43
+ setDotsExiting(false);
44
+ }
45
+ };
46
+ const dotSize1 = Math.max(8, Math.round(size * 0.2));
47
+ const dotSize2 = Math.max(5, Math.round(size * 0.12));
48
+ return (jsxs("div", { style: { position: 'relative', width: size, height: size }, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [jsx("div", { style: {
49
+ width: size,
50
+ height: size,
51
+ borderRadius: '50%',
52
+ boxShadow: selected
53
+ ? `inset 0 0 0 3px var(--primary-color), 0 4px 12px rgba(0, 0, 0, 0.22)`
54
+ : '0 4px 12px rgba(0, 0, 0, 0.22)',
55
+ position: 'relative',
56
+ }, children: jsx(PersonAvatarCircle, { userId: authorId, name: authorName, hasAvatar: hasAvatar, size: size, avatarSize: 'Medium', buildAvatarUrl: buildAvatarUrl }) }), dotsVisible && (jsxs("div", { className: `thinking-bubbles ${dotsExiting ? 'thinking-bubbles--exiting' : 'thinking-bubbles--entering'}`, onAnimationEnd: handleDotsAnimationEnd, "aria-hidden": 'true', children: [jsx("div", { className: 'thinking-dot thinking-dot--1', style: {
57
+ width: dotSize1,
58
+ height: dotSize1,
59
+ background: color,
60
+ top: Math.round(size * 0.94),
61
+ left: Math.round(size * 0.82),
62
+ } }), jsx("div", { className: 'thinking-dot thinking-dot--2', style: {
63
+ width: dotSize2,
64
+ height: dotSize2,
65
+ background: color,
66
+ top: Math.round(size * 1.22),
67
+ left: Math.round(size * 1.02),
68
+ } })] })), isHovered && !suppressPreview && (jsxs("div", { style: {
69
+ position: 'absolute',
70
+ top: '50%',
71
+ left: '100%',
72
+ marginLeft: 14,
73
+ transform: 'translateY(-50%)',
74
+ width: 224,
75
+ background: 'var(--surface-card)',
76
+ border: '1px solid var(--surface-border)',
77
+ borderRadius: 10,
78
+ boxShadow: '0 8px 24px rgba(0, 0, 0, 0.14)',
79
+ padding: '10px 12px',
80
+ display: 'flex',
81
+ gap: 10,
82
+ alignItems: 'flex-start',
83
+ pointerEvents: 'none',
84
+ zIndex: 9999,
85
+ }, children: [jsx(PersonAvatarCircle, { userId: authorId, name: authorName, hasAvatar: hasAvatar, size: 30, buildAvatarUrl: buildAvatarUrl }), jsxs("div", { style: { flex: 1, minWidth: 0 }, children: [jsxs("div", { style: { display: 'flex', alignItems: 'baseline', gap: 6, marginBottom: 3, flexWrap: 'wrap' }, children: [jsx("span", { style: { ...FONT, fontSize: 12, fontWeight: 600, color: 'var(--text-color)' }, children: authorName.length > PREVIEW_AUTHOR_NAME_MAX_LENGTH ? `${authorName.slice(0, PREVIEW_AUTHOR_NAME_MAX_LENGTH)}…` : authorName }), previewTimestamp && (jsx("span", { style: { ...FONT, fontSize: 10, color: 'var(--text-color-secondary)' }, children: formatTimestamp(previewTimestamp) }))] }), jsx("p", { style: { ...FONT, fontSize: 11, color: 'var(--text-color)', margin: '0 0 6px', lineHeight: 1.4 }, children: previewMessage ? (previewMessage.length > PREVIEW_MESSAGE_MAX_LENGTH ? `${previewMessage.slice(0, PREVIEW_MESSAGE_MAX_LENGTH)}…` : previewMessage) : 'No messages yet' }), replyCount !== undefined && replyCount > 0 && (jsx("span", { style: { ...FONT, fontSize: 10, color: 'var(--primary-color)' }, children: replyCount === 1 ? '1 reply' : `${replyCount} replies` }))] })] }))] }));
86
+ };
87
+
88
+ export { ChatBubble };
89
+ //# sourceMappingURL=ChatBubble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatBubble.js","sources":["../../../../../Canvas/shapes/ChatBubble/ChatBubble.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import type { BuildAvatarUrlParams } from './Avatar';
3
+ import { type MentionCandidate } from './Mentions';
4
+ import { type ReactionPickerLabels } from './ReactionPicker';
5
+ export interface ChatComposerLabels {
6
+ placeholder?: string;
7
+ insertEmoji?: string;
8
+ send?: string;
9
+ sendMessage?: string;
10
+ reactionPicker?: ReactionPickerLabels;
11
+ }
12
+ export interface ChatComposerProps {
13
+ mentionCandidates?: MentionCandidate[];
14
+ onSend: (text: string) => void;
15
+ autoFocus?: boolean;
16
+ buildAvatarUrl?: (params: BuildAvatarUrlParams) => string;
17
+ labels?: ChatComposerLabels;
18
+ }
19
+ export interface ChatComposerHandle {
20
+ prefill: (text: string) => void;
21
+ }
22
+ export declare const ChatComposer: React.ForwardRefExoticComponent<ChatComposerProps & React.RefAttributes<ChatComposerHandle>>;
23
+ //# sourceMappingURL=ChatComposer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatComposer.d.ts","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/ChatComposer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAuE,MAAM,OAAO,CAAC;AAE5F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAyE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC1H,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAI7E,MAAM,WAAW,kBAAkB;IAE/B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB;IAG9B,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAGvC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAG/B,SAAS,CAAC,EAAE,OAAO,CAAC;IAGpB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,MAAM,CAAC;IAG1D,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAOD,MAAM,WAAW,kBAAkB;IAG/B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAMD,eAAO,MAAM,YAAY,8FAuJvB,CAAC"}
@@ -0,0 +1,107 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { forwardRef, useState, useRef, useEffect, useImperativeHandle } from 'react';
3
+ import { AnchoredOverlay } from './AnchoredOverlay.js';
4
+ import { MentionSuggestions } from './Mentions/MentionSuggestions.js';
5
+ import { activeMentionQuery } from './Mentions/activeMentionQuery.js';
6
+ import { applyMention } from './Mentions/applyMention.js';
7
+ import { matchCandidates } from './Mentions/matchCandidates.js';
8
+ import { ReactionPicker } from './ReactionPicker.js';
9
+
10
+ /**
11
+ * The compose row of a conversation — the text area, the `@` mention list it opens, and the send
12
+ * button. It owns the draft so the surrounding panel stays a renderer of messages.
13
+ */
14
+ const ChatComposer = forwardRef(({ mentionCandidates, onSend, autoFocus = false, buildAvatarUrl, labels }, handleRef) => {
15
+ const [draft, setDraft] = useState({ text: '', caret: 0 });
16
+ const [highlightedIndex, setHighlightedIndex] = useState(0);
17
+ const [showEmojiPicker, setShowEmojiPicker] = useState(false);
18
+ const inputRef = useRef(null);
19
+ const emojiButtonRef = useRef(null);
20
+ const query = mentionCandidates ? activeMentionQuery(draft.text, draft.caret) : null;
21
+ const suggestions = query ? matchCandidates(mentionCandidates ?? [], query.text) : [];
22
+ const isSuggesting = suggestions.length > 0;
23
+ const highlighted = Math.min(highlightedIndex, suggestions.length - 1);
24
+ useEffect(() => {
25
+ if (autoFocus) {
26
+ inputRef.current?.focus();
27
+ }
28
+ }, [autoFocus]);
29
+ useImperativeHandle(handleRef, () => ({
30
+ prefill: (text) => {
31
+ setDraft({ text, caret: text.length });
32
+ requestAnimationFrame(() => {
33
+ inputRef.current?.focus();
34
+ inputRef.current?.setSelectionRange(text.length, text.length);
35
+ });
36
+ },
37
+ }), []);
38
+ const readDraft = (element) => {
39
+ const text = element.value;
40
+ // Only editing the text restarts the selection. Resetting on every key event would undo the
41
+ // arrow-key navigation on the very next keyup.
42
+ if (text !== draft.text) {
43
+ setHighlightedIndex(0);
44
+ }
45
+ setDraft({ text, caret: element.selectionStart ?? text.length });
46
+ };
47
+ const send = () => {
48
+ const trimmed = draft.text.trim();
49
+ if (!trimmed)
50
+ return;
51
+ onSend(trimmed);
52
+ setDraft({ text: '', caret: 0 });
53
+ };
54
+ const choose = (candidate) => {
55
+ if (!query)
56
+ return;
57
+ const applied = applyMention(draft.text, draft.caret, query, candidate.name);
58
+ setDraft(applied);
59
+ setHighlightedIndex(0);
60
+ // The caret has to be restored after React has written the new value back into the element.
61
+ requestAnimationFrame(() => inputRef.current?.setSelectionRange(applied.caret, applied.caret));
62
+ inputRef.current?.focus();
63
+ };
64
+ const insertEmoji = (emoji) => {
65
+ const text = `${draft.text.slice(0, draft.caret)}${emoji}${draft.text.slice(draft.caret)}`;
66
+ const caret = draft.caret + emoji.length;
67
+ setDraft({ text, caret });
68
+ setShowEmojiPicker(false);
69
+ // Same restore-after-write pattern as choose() above — React has to write the new value in
70
+ // before the caret can be placed past the emoji it inserted.
71
+ requestAnimationFrame(() => {
72
+ inputRef.current?.focus();
73
+ inputRef.current?.setSelectionRange(caret, caret);
74
+ });
75
+ };
76
+ const handleKeyDown = (event) => {
77
+ if (isSuggesting) {
78
+ if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
79
+ event.preventDefault();
80
+ const step = event.key === 'ArrowDown' ? 1 : suggestions.length - 1;
81
+ setHighlightedIndex((highlighted + step) % suggestions.length);
82
+ return;
83
+ }
84
+ if (event.key === 'Enter' || event.key === 'Tab') {
85
+ event.preventDefault();
86
+ choose(suggestions[highlighted]);
87
+ return;
88
+ }
89
+ if (event.key === 'Escape') {
90
+ event.preventDefault();
91
+ // Closing the list without changing the text: move the caret past the mention so the
92
+ // query no longer resolves.
93
+ setDraft(previous => ({ ...previous, caret: previous.text.length }));
94
+ return;
95
+ }
96
+ }
97
+ if (event.key === 'Enter' && !event.shiftKey) {
98
+ event.preventDefault();
99
+ send();
100
+ }
101
+ };
102
+ return (jsxs("div", { className: 'chat-composer', children: [isSuggesting && (jsx(MentionSuggestions, { candidates: suggestions, highlightedIndex: highlighted, onSelect: choose, onHighlight: setHighlightedIndex, buildAvatarUrl: buildAvatarUrl })), jsx("textarea", { ref: inputRef, className: 'chat-composer__input', value: draft.text, onChange: event => readDraft(event.target), onKeyUp: event => readDraft(event.currentTarget), onClick: event => readDraft(event.currentTarget), onKeyDown: handleKeyDown, placeholder: labels?.placeholder ?? 'Write a message… (Enter to send)', rows: 2 }), jsx("button", { ref: emojiButtonRef, type: 'button', className: 'chat-composer__emoji-toggle', onMouseDown: event => event.preventDefault(), onClick: () => setShowEmojiPicker(previous => !previous), title: labels?.insertEmoji ?? 'Insert emoji', "aria-label": labels?.insertEmoji ?? 'Insert emoji', "aria-expanded": showEmojiPicker, children: "\u263A" }), jsx("button", { className: 'chat-composer__send', onClick: send, disabled: !draft.text.trim(), title: labels?.send ?? 'Send', "aria-label": labels?.sendMessage ?? 'Send message', children: jsxs("svg", { width: '16', height: '16', viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', strokeWidth: '2.5', "aria-hidden": 'true', children: [jsx("line", { x1: '22', y1: '2', x2: '11', y2: '13' }), jsx("polygon", { points: '22 2 15 22 11 13 2 9 22 2' })] }) }), jsx(AnchoredOverlay, { anchorRef: emojiButtonRef, open: showEmojiPicker, side: 'above', align: 'right', gap: 6, children: jsx(ReactionPicker, { anchorRef: emojiButtonRef, onPick: insertEmoji, onDismiss: () => setShowEmojiPicker(false), labels: labels?.reactionPicker }) })] }));
103
+ });
104
+ ChatComposer.displayName = 'ChatComposer';
105
+
106
+ export { ChatComposer };
107
+ //# sourceMappingURL=ChatComposer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatComposer.js","sources":["../../../../../Canvas/shapes/ChatBubble/ChatComposer.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;AAqDA;;;AAGG;MACU,YAAY,GAAG,UAAU,CAAwC,CAAC,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,GAAG,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,SAAS,KAAI;AAClK,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAC1D,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAC3D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC7D,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAsB,IAAI,CAAC;AAClD,IAAA,MAAM,cAAc,GAAG,MAAM,CAAoB,IAAI,CAAC;IAEtD,MAAM,KAAK,GAAG,iBAAiB,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI;IACpF,MAAM,WAAW,GAAG,KAAK,GAAG,eAAe,CAAC,iBAAiB,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;AACrF,IAAA,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;AAC3C,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAEtE,SAAS,CAAC,MAAK;QACX,IAAI,SAAS,EAAE;AACX,YAAA,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE;QAC7B;AACJ,IAAA,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAEf,IAAA,mBAAmB,CAAC,SAAS,EAAE,OAAO;AAClC,QAAA,OAAO,EAAE,CAAC,IAAY,KAAI;YACtB,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,qBAAqB,CAAC,MAAK;AACvB,gBAAA,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE;AACzB,gBAAA,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;AACjE,YAAA,CAAC,CAAC;QACN,CAAC;KACJ,CAAC,EAAE,EAAE,CAAC;AAEP,IAAA,MAAM,SAAS,GAAG,CAAC,OAA4B,KAAI;AAC/C,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK;;;AAG1B,QAAA,IAAI,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE;YACrB,mBAAmB,CAAC,CAAC,CAAC;QAC1B;AACA,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AACpE,IAAA,CAAC;IAED,MAAM,IAAI,GAAG,MAAK;QACd,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;AACjC,QAAA,IAAI,CAAC,OAAO;YAAE;QACd,MAAM,CAAC,OAAO,CAAC;QACf,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AACpC,IAAA,CAAC;AAED,IAAA,MAAM,MAAM,GAAG,CAAC,SAA2B,KAAI;AAC3C,QAAA,IAAI,CAAC,KAAK;YAAE;AACZ,QAAA,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC;QAC5E,QAAQ,CAAC,OAAO,CAAC;QACjB,mBAAmB,CAAC,CAAC,CAAC;;AAEtB,QAAA,qBAAqB,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9F,QAAA,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE;AAC7B,IAAA,CAAC;AAED,IAAA,MAAM,WAAW,GAAG,CAAC,KAAa,KAAI;AAClC,QAAA,MAAM,IAAI,GAAG,CAAA,EAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA,EAAG,KAAK,CAAA,EAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QAC1F,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM;AACxC,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACzB,kBAAkB,CAAC,KAAK,CAAC;;;QAGzB,qBAAqB,CAAC,MAAK;AACvB,YAAA,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE;YACzB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC;AACrD,QAAA,CAAC,CAAC;AACN,IAAA,CAAC;AAED,IAAA,MAAM,aAAa,GAAG,CAAC,KAA+C,KAAI;QACtE,IAAI,YAAY,EAAE;AACd,YAAA,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE;gBACtD,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;gBACnE,mBAAmB,CAAC,CAAC,WAAW,GAAG,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC;gBAC9D;YACJ;AAEA,YAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE;gBAC9C,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBAChC;YACJ;AAEA,YAAA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;gBACxB,KAAK,CAAC,cAAc,EAAE;;;gBAGtB,QAAQ,CAAC,QAAQ,KAAK,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBACpE;YACJ;QACJ;QAEA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC1C,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,IAAI,EAAE;QACV;AACJ,IAAA,CAAC;AAED,IAAA,QACIA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,eAAe,EAAA,QAAA,EAAA,CACzB,YAAY,KACTC,IAAC,kBAAkB,EAAA,EACf,UAAU,EAAE,WAAW,EACvB,gBAAgB,EAAE,WAAW,EAC7B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,mBAAmB,EAChC,cAAc,EAAE,cAAc,EAAA,CAChC,CACL,EACDA,GAAA,CAAA,UAAA,EAAA,EACI,GAAG,EAAE,QAAQ,EACb,SAAS,EAAC,sBAAsB,EAChC,KAAK,EAAE,KAAK,CAAC,IAAI,EACjB,QAAQ,EAAE,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAC1C,OAAO,EAAE,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,EAChD,OAAO,EAAE,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,EAChD,SAAS,EAAE,aAAa,EACxB,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,kCAAkC,EACtE,IAAI,EAAE,CAAC,EAAA,CACT,EACFA,GAAA,CAAA,QAAA,EAAA,EACI,GAAG,EAAE,cAAc,EACnB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,6BAA6B,EACvC,WAAW,EAAE,KAAK,IAAI,KAAK,CAAC,cAAc,EAAE,EAC5C,OAAO,EAAE,MAAM,kBAAkB,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,EACxD,KAAK,EAAE,MAAM,EAAE,WAAW,IAAI,cAAc,EAAA,YAAA,EAChC,MAAM,EAAE,WAAW,IAAI,cAAc,EAAA,eAAA,EAClC,eAAe,EAAA,QAAA,EAAA,QAAA,EAAA,CAGzB,EACTA,gBACI,SAAS,EAAC,qBAAqB,EAC/B,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAC5B,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,MAAM,EAAA,YAAA,EACjB,MAAM,EAAE,WAAW,IAAI,cAAc,EAAA,QAAA,EAEjDD,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,iBAAa,MAAM,EAAA,QAAA,EAAA,CAClHC,GAAA,CAAA,MAAA,EAAA,EAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,GAAG,EACvCA,GAAA,CAAA,SAAA,EAAA,EAAS,MAAM,EAAC,2BAA2B,EAAA,CAAG,CAAA,EAAA,CAC5C,EAAA,CACD,EAGTA,GAAA,CAAC,eAAe,EAAA,EAAC,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,EAAC,GAAG,EAAE,CAAC,EAAA,QAAA,EAChGA,IAAC,cAAc,EAAA,EAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAA,CAAI,EAAA,CAChI,CAAA,EAAA,CAChB;AAEd,CAAC;AACD,YAAY,CAAC,WAAW,GAAG,cAAc;;"}
@@ -0,0 +1,17 @@
1
+ import { Guid } from '@cratis/fundamentals';
2
+ import { ChatAuthorKind } from './ChatAuthorKind';
3
+ import type { ChatMessageReaction } from './ChatMessageReaction';
4
+ export interface ChatMessage {
5
+ id: Guid;
6
+ authorId: Guid;
7
+ authorName: string;
8
+ authorInitials: string;
9
+ hasAvatar: boolean;
10
+ authorKind: ChatAuthorKind;
11
+ text: string;
12
+ timestamp: Date;
13
+ failureDetail?: string;
14
+ didAct?: boolean;
15
+ reactions?: ChatMessageReaction[];
16
+ }
17
+ //# sourceMappingURL=ChatMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessage.d.ts","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/ChatMessage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,MAAM,WAAW,WAAW;IAExB,EAAE,EAAE,IAAI,CAAC;IAET,QAAQ,EAAE,IAAI,CAAC;IAEf,UAAU,EAAE,MAAM,CAAC;IAEnB,cAAc,EAAE,MAAM,CAAC;IAEvB,SAAS,EAAE,OAAO,CAAC;IAGnB,UAAU,EAAE,cAAc,CAAC;IAE3B,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,EAAE,IAAI,CAAC;IAMhB,aAAa,CAAC,EAAE,MAAM,CAAC;IAOvB,MAAM,CAAC,EAAE,OAAO,CAAC;IAOjB,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACrC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ChatMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/ChatMessage.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import type { Guid } from '@cratis/fundamentals';
2
+ import { type BuildAvatarUrlParams } from './Avatar';
3
+ import type { ChatMessage } from './ChatMessage';
4
+ import { type ReactionPickerLabels } from './ReactionPicker';
5
+ export interface ChatMessageBubbleLabels {
6
+ yourReaction?: string;
7
+ addReaction?: string;
8
+ quickReplyTo?: string;
9
+ convertToAction?: string;
10
+ reactionPicker?: ReactionPickerLabels;
11
+ }
12
+ export interface ChatMessageBubbleProps {
13
+ message: ChatMessage;
14
+ showAuthor: boolean;
15
+ showTimestamp: boolean;
16
+ formattedTimestamp: string;
17
+ currentUserId?: Guid;
18
+ onReact?: (messageId: Guid, emoji: string) => void;
19
+ onQuickReply?: (authorName: string) => void;
20
+ onAct?: (messageId: Guid) => void;
21
+ buildAvatarUrl?: (params: BuildAvatarUrlParams) => string;
22
+ labels?: ChatMessageBubbleLabels;
23
+ }
24
+ export declare const ChatMessageBubble: ({ message, showAuthor, showTimestamp, formattedTimestamp, currentUserId, onReact, onQuickReply, onAct, buildAvatarUrl, labels }: ChatMessageBubbleProps) => import("react").JSX.Element;
25
+ //# sourceMappingURL=ChatMessageBubble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessageBubble.d.ts","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/ChatMessageBubble.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAsB,KAAK,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAK7E,MAAM,WAAW,uBAAuB;IAGpC,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB;IAGnC,OAAO,EAAE,WAAW,CAAC;IAGrB,UAAU,EAAE,OAAO,CAAC;IAGpB,aAAa,EAAE,OAAO,CAAC;IAGvB,kBAAkB,EAAE,MAAM,CAAC;IAO3B,aAAa,CAAC,EAAE,IAAI,CAAC;IAGrB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAGnD,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAK5C,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,KAAK,IAAI,CAAC;IAGlC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,MAAM,CAAC;IAG1D,MAAM,CAAC,EAAE,uBAAuB,CAAC;CACpC;AAOD,eAAO,MAAM,iBAAiB,GAAI,iIAAiI,sBAAsB,gCA0FxL,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useState, useRef } from 'react';
3
+ import { AnchoredOverlay } from './AnchoredOverlay.js';
4
+ import { PersonAvatarCircle } from './Avatar/PersonAvatarCircle.js';
5
+ import { ChatAuthorKind } from './ChatAuthorKind.js';
6
+ import { findOwnReaction } from './findOwnReaction.js';
7
+ import { MessageReactions } from './MessageReactions.js';
8
+ import { ReactionPicker } from './ReactionPicker.js';
9
+ import { reactionsExcludingUser } from './reactionsExcludingUser.js';
10
+
11
+ /**
12
+ * One message in a conversation, with the optional quick-reaction and quick-reply affordances a
13
+ * conversation may offer. The affordances are opt-in via {@link ChatMessageBubbleProps.currentUserId} —
14
+ * a conversation that does not pass it renders exactly as it did before reactions existed.
15
+ */
16
+ const ChatMessageBubble = ({ message, showAuthor, showTimestamp, formattedTimestamp, currentUserId, onReact, onQuickReply, onAct, buildAvatarUrl, labels }) => {
17
+ const [pickerOpen, setPickerOpen] = useState(false);
18
+ const reactionButtonRef = useRef(null);
19
+ const supportsReactions = !!currentUserId && !!onReact;
20
+ const showActionsRow = supportsReactions || !!onQuickReply || !!onAct;
21
+ const ownReaction = supportsReactions ? findOwnReaction(message.reactions, currentUserId) : undefined;
22
+ const otherReactions = supportsReactions ? reactionsExcludingUser(message.reactions, currentUserId) : [];
23
+ const pick = (emoji) => {
24
+ setPickerOpen(false);
25
+ onReact?.(message.id, emoji);
26
+ };
27
+ return (jsxs("div", { className: `chat-bubble${showAuthor ? '' : ' chat-bubble--continuation'}`, children: [showAuthor && (jsxs("div", { className: 'chat-bubble-author', children: [jsx(PersonAvatarCircle, { userId: message.authorId, name: message.authorName, hasAvatar: message.hasAvatar, size: 22, ownerType: message.authorKind === ChatAuthorKind.Agent ? 'Agents' : 'Users', buildAvatarUrl: buildAvatarUrl }), jsx("span", { className: 'chat-bubble-name', children: message.authorName })] })), jsxs("div", { className: 'chat-bubble-body', children: [jsxs("div", { className: `chat-bubble-panel${showActionsRow ? ' chat-bubble-panel--with-actions' : ''}`, children: [jsx("p", { className: 'chat-bubble-text', children: message.text }), showActionsRow && (jsxs("div", { className: 'chat-bubble-actions', children: [supportsReactions && (jsx("button", { ref: reactionButtonRef, type: 'button', className: `chat-bubble-action${ownReaction ? ' chat-bubble-action--own-reaction' : ''}`, title: ownReaction ? (labels?.yourReaction ?? 'You reacted with {emoji}').replace('{emoji}', ownReaction.emoji) : (labels?.addReaction ?? 'Add a quick reaction'), "aria-label": ownReaction ? (labels?.yourReaction ?? 'You reacted with {emoji}').replace('{emoji}', ownReaction.emoji) : (labels?.addReaction ?? 'Add a quick reaction'), "aria-expanded": pickerOpen, onClick: () => setPickerOpen(previous => !previous), children: ownReaction ? ownReaction.emoji : '☺' })), onQuickReply && (jsx("button", { type: 'button', className: 'chat-bubble-action', title: (labels?.quickReplyTo ?? 'Reply to {name}').replace('{name}', message.authorName), "aria-label": (labels?.quickReplyTo ?? 'Reply to {name}').replace('{name}', message.authorName), onClick: () => onQuickReply(message.authorName), children: jsx("i", { className: 'pi pi-reply', "aria-hidden": 'true' }) })), onAct && (jsx("button", { type: 'button', className: 'chat-bubble-action', title: labels?.convertToAction ?? 'Turn into an action', "aria-label": labels?.convertToAction ?? 'Turn into an action', onClick: () => onAct(message.id), children: jsx("i", { className: 'pi pi-bolt', "aria-hidden": 'true' }) }))] }))] }), showTimestamp && (jsx("span", { className: 'chat-bubble-time', children: formattedTimestamp })), supportsReactions && jsx(MessageReactions, { reactions: otherReactions }), jsx(AnchoredOverlay, { anchorRef: reactionButtonRef, open: pickerOpen, side: 'above', align: 'right', gap: 6, children: jsx(ReactionPicker, { ownEmoji: ownReaction?.emoji, reactions: message.reactions, anchorRef: reactionButtonRef, onPick: pick, onDismiss: () => setPickerOpen(false), labels: labels?.reactionPicker }) })] })] }));
28
+ };
29
+
30
+ export { ChatMessageBubble };
31
+ //# sourceMappingURL=ChatMessageBubble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessageBubble.js","sources":["../../../../../Canvas/shapes/ChatBubble/ChatMessageBubble.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ChatMessageReactionUser } from './ChatMessageReactionUser';
2
+ export interface ChatMessageReaction {
3
+ emoji: string;
4
+ users: ChatMessageReactionUser[];
5
+ }
6
+ //# sourceMappingURL=ChatMessageReaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessageReaction.d.ts","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/ChatMessageReaction.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAMzE,MAAM,WAAW,mBAAmB;IAGhC,KAAK,EAAE,MAAM,CAAC;IAGd,KAAK,EAAE,uBAAuB,EAAE,CAAC;CACpC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ChatMessageReaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessageReaction.js","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/ChatMessageReaction.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { Guid } from '@cratis/fundamentals';
2
+ export interface ChatMessageReactionUser {
3
+ id: Guid;
4
+ name: string;
5
+ reactionId: Guid;
6
+ }
7
+ //# sourceMappingURL=ChatMessageReactionUser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessageReactionUser.d.ts","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/ChatMessageReactionUser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAMjD,MAAM,WAAW,uBAAuB;IAGpC,EAAE,EAAE,IAAI,CAAC;IAGT,IAAI,EAAE,MAAM,CAAC;IAOb,UAAU,EAAE,IAAI,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ChatMessageReactionUser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessageReactionUser.js","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/ChatMessageReactionUser.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import type { Guid } from '@cratis/fundamentals';
2
+ export interface ChatOwnReaction {
3
+ reactionId: Guid;
4
+ emoji: string;
5
+ }
6
+ //# sourceMappingURL=ChatOwnReaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatOwnReaction.d.ts","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/ChatOwnReaction.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAOjD,MAAM,WAAW,eAAe;IAG5B,UAAU,EAAE,IAAI,CAAC;IAGjB,KAAK,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ChatOwnReaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatOwnReaction.js","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/ChatOwnReaction.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { ChatAuthorKind } from './ChatAuthorKind';
2
+ export interface ChatTypingAuthor {
3
+ id: string;
4
+ name: string;
5
+ hasAvatar: boolean;
6
+ kind: ChatAuthorKind;
7
+ }
8
+ //# sourceMappingURL=ChatTypingAuthor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatTypingAuthor.d.ts","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/ChatTypingAuthor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMlD,MAAM,WAAW,gBAAgB;IAG7B,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,EAAE,OAAO,CAAC;IAGnB,IAAI,EAAE,cAAc,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ChatTypingAuthor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatTypingAuthor.js","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/ChatTypingAuthor.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export declare enum ChatVariant {
2
+ Floating = "floating",
3
+ Docked = "docked"
4
+ }
5
+ //# sourceMappingURL=ChatVariant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatVariant.d.ts","sourceRoot":"","sources":["../../../../../Canvas/shapes/ChatBubble/ChatVariant.ts"],"names":[],"mappings":"AAMA,oBAAY,WAAW;IAGnB,QAAQ,aAAa;IAGrB,MAAM,WAAW;CACpB"}
@@ -0,0 +1,15 @@
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
+ * How a conversation is presented.
5
+ */
6
+ var ChatVariant;
7
+ (function (ChatVariant) {
8
+ /** A floating card hanging off whatever opened it. */
9
+ ChatVariant["Floating"] = "floating";
10
+ /** Filling a container that already provides its own frame and heading, such as a sidebar. */
11
+ ChatVariant["Docked"] = "docked";
12
+ })(ChatVariant || (ChatVariant = {}));
13
+
14
+ export { ChatVariant };
15
+ //# sourceMappingURL=ChatVariant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatVariant.js","sources":["../../../../../Canvas/shapes/ChatBubble/ChatVariant.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AAEA;;AAEG;IACS;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;;"}
@@ -0,0 +1,6 @@
1
+ import { EmojiCategoryKey } from './EmojiCategoryKey';
2
+ export interface EmojiCategory {
3
+ key: EmojiCategoryKey;
4
+ emojis: readonly string[];
5
+ }
6
+ //# sourceMappingURL=EmojiCategory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmojiCategory.d.ts","sourceRoot":"","sources":["../../../../../../Canvas/shapes/ChatBubble/Emoji/EmojiCategory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,WAAW,aAAa;IAG1B,GAAG,EAAE,gBAAgB,CAAC;IAGtB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=EmojiCategory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmojiCategory.js","sourceRoot":"","sources":["../../../../../../Canvas/shapes/ChatBubble/Emoji/EmojiCategory.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ export declare enum EmojiCategoryKey {
2
+ Smileys = "smileys",
3
+ People = "people",
4
+ Nature = "nature",
5
+ Food = "food",
6
+ Activity = "activity",
7
+ Travel = "travel",
8
+ Objects = "objects",
9
+ Symbols = "symbols",
10
+ Flags = "flags"
11
+ }
12
+ //# sourceMappingURL=EmojiCategoryKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmojiCategoryKey.d.ts","sourceRoot":"","sources":["../../../../../../Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.ts"],"names":[],"mappings":"AAIA,oBAAY,gBAAgB;IACxB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,KAAK,UAAU;CAClB"}
@@ -0,0 +1,18 @@
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
+ /** The sections the full emoji picker groups its emojis into, in the order it shows them. */
4
+ var EmojiCategoryKey;
5
+ (function (EmojiCategoryKey) {
6
+ EmojiCategoryKey["Smileys"] = "smileys";
7
+ EmojiCategoryKey["People"] = "people";
8
+ EmojiCategoryKey["Nature"] = "nature";
9
+ EmojiCategoryKey["Food"] = "food";
10
+ EmojiCategoryKey["Activity"] = "activity";
11
+ EmojiCategoryKey["Travel"] = "travel";
12
+ EmojiCategoryKey["Objects"] = "objects";
13
+ EmojiCategoryKey["Symbols"] = "symbols";
14
+ EmojiCategoryKey["Flags"] = "flags";
15
+ })(EmojiCategoryKey || (EmojiCategoryKey = {}));
16
+
17
+ export { EmojiCategoryKey };
18
+ //# sourceMappingURL=EmojiCategoryKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmojiCategoryKey.js","sources":["../../../../../../Canvas/shapes/ChatBubble/Emoji/EmojiCategoryKey.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AAEA;IACY;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;;"}