@liveblocks/react-ui 2.25.0-aiprivatebeta5 → 2.25.0-aiprivatebeta7

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 (199) hide show
  1. package/dist/_private/index.cjs +4 -0
  2. package/dist/_private/index.cjs.map +1 -1
  3. package/dist/_private/index.d.cts +31 -94
  4. package/dist/_private/index.d.ts +31 -94
  5. package/dist/_private/index.js +2 -0
  6. package/dist/_private/index.js.map +1 -1
  7. package/dist/components/AiChat.cjs +217 -0
  8. package/dist/components/AiChat.cjs.map +1 -0
  9. package/dist/components/AiChat.js +215 -0
  10. package/dist/components/AiChat.js.map +1 -0
  11. package/dist/components/Comment.cjs +2 -2
  12. package/dist/components/Comment.cjs.map +1 -1
  13. package/dist/components/Comment.js +1 -1
  14. package/dist/components/Comment.js.map +1 -1
  15. package/dist/components/Composer.cjs +1 -2
  16. package/dist/components/Composer.cjs.map +1 -1
  17. package/dist/components/Composer.js +1 -2
  18. package/dist/components/Composer.js.map +1 -1
  19. package/dist/components/internal/AiChatAssistantMessage.cjs +83 -124
  20. package/dist/components/internal/AiChatAssistantMessage.cjs.map +1 -1
  21. package/dist/components/internal/AiChatAssistantMessage.js +81 -122
  22. package/dist/components/internal/AiChatAssistantMessage.js.map +1 -1
  23. package/dist/components/internal/AiChatComposer.cjs +30 -266
  24. package/dist/components/internal/AiChatComposer.cjs.map +1 -1
  25. package/dist/components/internal/AiChatComposer.js +35 -267
  26. package/dist/components/internal/AiChatComposer.js.map +1 -1
  27. package/dist/components/internal/AiChatUserMessage.cjs +18 -168
  28. package/dist/components/internal/AiChatUserMessage.cjs.map +1 -1
  29. package/dist/components/internal/AiChatUserMessage.js +20 -170
  30. package/dist/components/internal/AiChatUserMessage.js.map +1 -1
  31. package/dist/constants.cjs +2 -0
  32. package/dist/constants.cjs.map +1 -1
  33. package/dist/constants.js +2 -1
  34. package/dist/constants.js.map +1 -1
  35. package/dist/icon.cjs +4 -0
  36. package/dist/icon.cjs.map +1 -1
  37. package/dist/icon.js +2 -0
  38. package/dist/icon.js.map +1 -1
  39. package/dist/icons/Copy.cjs +8 -9
  40. package/dist/icons/Copy.cjs.map +1 -1
  41. package/dist/icons/Copy.js +8 -9
  42. package/dist/icons/Copy.js.map +1 -1
  43. package/dist/icons/Retry.cjs +21 -0
  44. package/dist/icons/Retry.cjs.map +1 -0
  45. package/dist/icons/Retry.js +19 -0
  46. package/dist/icons/Retry.js.map +1 -0
  47. package/dist/icons/index.cjs +4 -0
  48. package/dist/icons/index.cjs.map +1 -1
  49. package/dist/icons/index.js +2 -0
  50. package/dist/icons/index.js.map +1 -1
  51. package/dist/index.cjs +1 -1
  52. package/dist/index.cjs.map +1 -1
  53. package/dist/index.d.cts +32 -43
  54. package/dist/index.d.ts +32 -43
  55. package/dist/index.js +1 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/overrides.cjs +10 -10
  58. package/dist/overrides.cjs.map +1 -1
  59. package/dist/overrides.js +10 -10
  60. package/dist/overrides.js.map +1 -1
  61. package/dist/primitives/AiChatComposer/index.cjs +203 -0
  62. package/dist/primitives/AiChatComposer/index.cjs.map +1 -0
  63. package/dist/primitives/AiChatComposer/index.js +196 -0
  64. package/dist/primitives/AiChatComposer/index.js.map +1 -0
  65. package/dist/primitives/Comment/index.cjs +2 -2
  66. package/dist/primitives/Comment/index.cjs.map +1 -1
  67. package/dist/primitives/Comment/index.js +1 -1
  68. package/dist/primitives/Comment/index.js.map +1 -1
  69. package/dist/primitives/Composer/index.cjs +19 -14
  70. package/dist/primitives/Composer/index.cjs.map +1 -1
  71. package/dist/primitives/Composer/index.js +18 -13
  72. package/dist/primitives/Composer/index.js.map +1 -1
  73. package/dist/{slate → primitives/Composer/slate}/plugins/auto-formatting.cjs +3 -3
  74. package/dist/primitives/Composer/slate/plugins/auto-formatting.cjs.map +1 -0
  75. package/dist/{slate → primitives/Composer/slate}/plugins/auto-formatting.js +3 -3
  76. package/dist/primitives/Composer/slate/plugins/auto-formatting.js.map +1 -0
  77. package/dist/{slate → primitives/Composer/slate}/plugins/auto-links.cjs +7 -2
  78. package/dist/primitives/Composer/slate/plugins/auto-links.cjs.map +1 -0
  79. package/dist/{slate → primitives/Composer/slate}/plugins/auto-links.js +8 -3
  80. package/dist/primitives/Composer/slate/plugins/auto-links.js.map +1 -0
  81. package/dist/{slate → primitives/Composer/slate}/plugins/custom-links.cjs +8 -3
  82. package/dist/primitives/Composer/slate/plugins/custom-links.cjs.map +1 -0
  83. package/dist/{slate → primitives/Composer/slate}/plugins/custom-links.js +9 -4
  84. package/dist/primitives/Composer/slate/plugins/custom-links.js.map +1 -0
  85. package/dist/{slate → primitives/Composer/slate}/plugins/mentions.cjs +9 -10
  86. package/dist/primitives/Composer/slate/plugins/mentions.cjs.map +1 -0
  87. package/dist/{slate → primitives/Composer/slate}/plugins/mentions.js +6 -6
  88. package/dist/primitives/Composer/slate/plugins/mentions.js.map +1 -0
  89. package/dist/{slate → primitives/Composer/slate}/plugins/paste.cjs +1 -1
  90. package/dist/primitives/Composer/slate/plugins/paste.cjs.map +1 -0
  91. package/dist/{slate → primitives/Composer/slate}/plugins/paste.js +1 -1
  92. package/dist/primitives/Composer/slate/plugins/paste.js.map +1 -0
  93. package/dist/primitives/Composer/utils.cjs +4 -4
  94. package/dist/primitives/Composer/utils.cjs.map +1 -1
  95. package/dist/primitives/Composer/utils.js +4 -4
  96. package/dist/primitives/Composer/utils.js.map +1 -1
  97. package/dist/primitives/index.cjs +2 -5
  98. package/dist/primitives/index.cjs.map +1 -1
  99. package/dist/primitives/index.d.cts +33 -62
  100. package/dist/primitives/index.d.ts +33 -62
  101. package/dist/primitives/index.js +6 -5
  102. package/dist/primitives/index.js.map +1 -1
  103. package/dist/primitives/internal/{Collapsible.cjs → Collapsible/index.cjs} +23 -17
  104. package/dist/primitives/internal/Collapsible/index.cjs.map +1 -0
  105. package/dist/primitives/internal/{Collapsible.js → Collapsible/index.js} +23 -17
  106. package/dist/primitives/internal/Collapsible/index.js.map +1 -0
  107. package/dist/primitives/slate/plugins/empty-clear-formatting.cjs.map +1 -0
  108. package/dist/primitives/slate/plugins/empty-clear-formatting.js.map +1 -0
  109. package/dist/{slate → primitives/slate}/plugins/normalize.cjs +0 -5
  110. package/dist/primitives/slate/plugins/normalize.cjs.map +1 -0
  111. package/dist/{slate → primitives/slate}/plugins/normalize.js +0 -5
  112. package/dist/primitives/slate/plugins/normalize.js.map +1 -0
  113. package/dist/primitives/slate/utils/get-character.cjs.map +1 -0
  114. package/dist/primitives/slate/utils/get-character.js.map +1 -0
  115. package/dist/primitives/slate/utils/get-dom-range.cjs.map +1 -0
  116. package/dist/primitives/slate/utils/get-dom-range.js.map +1 -0
  117. package/dist/primitives/slate/utils/get-match-range.cjs.map +1 -0
  118. package/dist/primitives/slate/utils/get-match-range.js.map +1 -0
  119. package/dist/primitives/slate/utils/is-empty-string.cjs.map +1 -0
  120. package/dist/primitives/slate/utils/is-empty-string.js.map +1 -0
  121. package/dist/primitives/slate/utils/is-empty.cjs.map +1 -0
  122. package/dist/primitives/slate/utils/is-empty.js.map +1 -0
  123. package/dist/primitives/slate/utils/is-text.cjs.map +1 -0
  124. package/dist/primitives/slate/utils/is-text.js.map +1 -0
  125. package/dist/primitives/slate/utils/is-whitespace-character.cjs.map +1 -0
  126. package/dist/primitives/slate/utils/is-whitespace-character.js.map +1 -0
  127. package/dist/{slate → primitives/slate}/utils/marks.cjs +9 -9
  128. package/dist/primitives/slate/utils/marks.cjs.map +1 -0
  129. package/dist/{slate → primitives/slate}/utils/marks.js +9 -9
  130. package/dist/primitives/slate/utils/marks.js.map +1 -0
  131. package/dist/primitives/slate/utils/selection-contains-inlines.cjs.map +1 -0
  132. package/dist/primitives/slate/utils/selection-contains-inlines.js.map +1 -0
  133. package/dist/version.cjs +1 -1
  134. package/dist/version.js +1 -1
  135. package/package.json +4 -4
  136. package/src/styles/index.css +119 -133
  137. package/src/styles/utils.css +7 -2
  138. package/styles.css +1 -1
  139. package/styles.css.map +1 -1
  140. package/dist/components/AiChat/AiChat.cjs +0 -211
  141. package/dist/components/AiChat/AiChat.cjs.map +0 -1
  142. package/dist/components/AiChat/AiChat.js +0 -209
  143. package/dist/components/AiChat/AiChat.js.map +0 -1
  144. package/dist/primitives/Chat/Composer/index.cjs +0 -323
  145. package/dist/primitives/Chat/Composer/index.cjs.map +0 -1
  146. package/dist/primitives/Chat/Composer/index.js +0 -315
  147. package/dist/primitives/Chat/Composer/index.js.map +0 -1
  148. package/dist/primitives/internal/Collapsible.cjs.map +0 -1
  149. package/dist/primitives/internal/Collapsible.js.map +0 -1
  150. package/dist/slate/plugins/auto-formatting.cjs.map +0 -1
  151. package/dist/slate/plugins/auto-formatting.js.map +0 -1
  152. package/dist/slate/plugins/auto-links.cjs.map +0 -1
  153. package/dist/slate/plugins/auto-links.js.map +0 -1
  154. package/dist/slate/plugins/custom-links.cjs.map +0 -1
  155. package/dist/slate/plugins/custom-links.js.map +0 -1
  156. package/dist/slate/plugins/empty-clear-formatting.cjs.map +0 -1
  157. package/dist/slate/plugins/empty-clear-formatting.js.map +0 -1
  158. package/dist/slate/plugins/mentions.cjs.map +0 -1
  159. package/dist/slate/plugins/mentions.js.map +0 -1
  160. package/dist/slate/plugins/normalize.cjs.map +0 -1
  161. package/dist/slate/plugins/normalize.js.map +0 -1
  162. package/dist/slate/plugins/paste.cjs.map +0 -1
  163. package/dist/slate/plugins/paste.js.map +0 -1
  164. package/dist/slate/utils/get-character.cjs.map +0 -1
  165. package/dist/slate/utils/get-character.js.map +0 -1
  166. package/dist/slate/utils/get-dom-range.cjs.map +0 -1
  167. package/dist/slate/utils/get-dom-range.js.map +0 -1
  168. package/dist/slate/utils/get-match-range.cjs.map +0 -1
  169. package/dist/slate/utils/get-match-range.js.map +0 -1
  170. package/dist/slate/utils/is-empty-string.cjs.map +0 -1
  171. package/dist/slate/utils/is-empty-string.js.map +0 -1
  172. package/dist/slate/utils/is-empty.cjs.map +0 -1
  173. package/dist/slate/utils/is-empty.js.map +0 -1
  174. package/dist/slate/utils/is-text.cjs.map +0 -1
  175. package/dist/slate/utils/is-text.js.map +0 -1
  176. package/dist/slate/utils/is-whitespace-character.cjs.map +0 -1
  177. package/dist/slate/utils/is-whitespace-character.js.map +0 -1
  178. package/dist/slate/utils/marks.cjs.map +0 -1
  179. package/dist/slate/utils/marks.js.map +0 -1
  180. package/dist/slate/utils/selection-contains-inlines.cjs.map +0 -1
  181. package/dist/slate/utils/selection-contains-inlines.js.map +0 -1
  182. /package/dist/{slate → primitives/slate}/plugins/empty-clear-formatting.cjs +0 -0
  183. /package/dist/{slate → primitives/slate}/plugins/empty-clear-formatting.js +0 -0
  184. /package/dist/{slate → primitives/slate}/utils/get-character.cjs +0 -0
  185. /package/dist/{slate → primitives/slate}/utils/get-character.js +0 -0
  186. /package/dist/{slate → primitives/slate}/utils/get-dom-range.cjs +0 -0
  187. /package/dist/{slate → primitives/slate}/utils/get-dom-range.js +0 -0
  188. /package/dist/{slate → primitives/slate}/utils/get-match-range.cjs +0 -0
  189. /package/dist/{slate → primitives/slate}/utils/get-match-range.js +0 -0
  190. /package/dist/{slate → primitives/slate}/utils/is-empty-string.cjs +0 -0
  191. /package/dist/{slate → primitives/slate}/utils/is-empty-string.js +0 -0
  192. /package/dist/{slate → primitives/slate}/utils/is-empty.cjs +0 -0
  193. /package/dist/{slate → primitives/slate}/utils/is-empty.js +0 -0
  194. /package/dist/{slate → primitives/slate}/utils/is-text.cjs +0 -0
  195. /package/dist/{slate → primitives/slate}/utils/is-text.js +0 -0
  196. /package/dist/{slate → primitives/slate}/utils/is-whitespace-character.cjs +0 -0
  197. /package/dist/{slate → primitives/slate}/utils/is-whitespace-character.js +0 -0
  198. /package/dist/{slate → primitives/slate}/utils/selection-contains-inlines.cjs +0 -0
  199. /package/dist/{slate → primitives/slate}/utils/selection-contains-inlines.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"AiChatUserMessage.cjs","sources":["../../../src/components/internal/AiChatUserMessage.tsx"],"sourcesContent":["import type { UiUserMessage } from \"@liveblocks/core\";\nimport type { HTMLAttributes } from \"react\";\nimport { forwardRef, memo, useState } from \"react\";\n\nimport { SpinnerIcon } from \"../../icons\";\nimport type { GlobalOverrides } from \"../../overrides\";\nimport { useOverrides } from \"../../overrides\";\nimport { classNames } from \"../../utils/class-names\";\nimport { formatFileSize } from \"../../utils/format-file-size\";\nimport {\n MAX_DISPLAYED_MEDIA_SIZE,\n splitFileName,\n useChatAttachmentUrl,\n} from \"./AiChatComposer\";\n\n/* -------------------------------------------------------------------------------------------------\n * AiChatUserMessage\n * -----------------------------------------------------------------------------------------------*/\nexport type AiChatUserMessageProps = HTMLAttributes<HTMLDivElement> & {\n /**\n * The message to display.\n */\n message: UiUserMessage;\n /**\n * Override the component's strings.\n */\n overrides?: Partial<GlobalOverrides>;\n};\n\nexport const AiChatUserMessage = memo(\n forwardRef<HTMLDivElement, AiChatUserMessageProps>(\n ({ message, className }, forwardedRef) => {\n const text = message.content\n .filter((c) => c.type === \"text\")\n .map((c) => c.text)\n .join(\"\\n\");\n\n const images = message.content.filter((c) => c.type === \"image\");\n\n if (message.deletedAt !== undefined) {\n return (\n <div\n ref={forwardedRef}\n className={classNames(\"lb-ai-chat-user-message\", className)}\n >\n <div className=\"lb-ai-chat-user-message-deleted\">\n This message has been deleted.\n </div>\n </div>\n );\n }\n\n return (\n <div\n ref={forwardedRef}\n className={classNames(\"lb-ai-chat-user-message\", className)}\n >\n {images.length > 0 && (\n <div className=\"lb-ai-chat-user-message-attachments\">\n <div className=\"lb-ai-chat-user-message-media-attachments\">\n {images.map((image) => (\n <AiChatUserMessageMediaAttachment\n key={image.id}\n chatId={message.chatId}\n attachment={image}\n className=\"lb-ai-chat-user-message-attachment\"\n />\n ))}\n </div>\n </div>\n )}\n\n <div className=\"lb-ai-chat-user-message-content\">\n <div className=\"lb-ai-chat-user-message-body\">{text}</div>\n </div>\n </div>\n );\n }\n )\n);\n\ntype AiChatUserMessageMediaAttachmentProps = HTMLAttributes<HTMLDivElement> & {\n chatId: string;\n attachment: {\n id: string;\n name: string;\n size: number;\n mimeType: string;\n };\n overrides?: Partial<GlobalOverrides>;\n};\n\nfunction AiChatUserMessageMediaAttachment({\n className,\n chatId,\n attachment,\n overrides,\n onClick,\n onKeyDown,\n ...props\n}: AiChatUserMessageMediaAttachmentProps) {\n if (!attachment.mimeType.startsWith(\"image/\")) {\n throw new Error(\"Only image attachments are supported.\");\n }\n\n const { url } = useChatAttachmentUrl(chatId, attachment.id);\n\n const { base, extension } = splitFileName(attachment.name);\n const $ = useOverrides(overrides);\n const description = formatFileSize(attachment.size, $.locale);\n\n return (\n <div\n className={classNames(\n \"lb-ai-chat-user-message-attachment lb-attachment lb-media-attachment\",\n className\n )}\n role={url !== undefined ? \"button\" : undefined}\n tabIndex={url !== undefined ? 0 : -1}\n onKeyDown={(event) => {\n onKeyDown?.(event);\n if (event.isDefaultPrevented()) return;\n\n if (url === undefined) return;\n if (event.key === \"Enter\" || event.key === \" \") {\n window.open(url, \"_blank\");\n }\n }}\n {...props}\n onClick={(event) => {\n onClick?.(event);\n if (event.isDefaultPrevented()) return;\n\n if (url === undefined) return;\n window.open(url, \"_blank\");\n }}\n >\n <AttachmentPreview attachment={attachment} url={url} />\n\n <div className=\"lb-attachment-details\">\n <span className=\"lb-attachment-name\" title={attachment.name}>\n <span className=\"lb-attachment-name-base\">{base}</span>\n {extension && (\n <span className=\"lb-attachment-name-extension\">{extension}</span>\n )}\n </span>\n\n <span className=\"lb-attachment-description\" title={description}>\n {description}\n </span>\n </div>\n </div>\n );\n}\n\ntype AttachmentPreviewProps = HTMLAttributes<HTMLDivElement> & {\n attachment: { name: string; size: number };\n url: string | undefined;\n};\n\nfunction AttachmentPreview({\n attachment,\n url,\n ...props\n}: AttachmentPreviewProps) {\n const [isUnsupportedPreview, setUnsupportedPreview] = useState(false);\n const [isLoaded, setLoaded] = useState(false);\n\n if (!isUnsupportedPreview && attachment.size <= MAX_DISPLAYED_MEDIA_SIZE) {\n return (\n <div className=\"lb-attachment-preview\" {...props}>\n {!isLoaded ? <SpinnerIcon /> : null}\n\n {url ? (\n <div\n className=\"lb-attachment-preview-media\"\n data-hidden={!isLoaded ? \"\" : undefined}\n >\n <img\n src={url}\n loading=\"lazy\"\n onLoad={() => setLoaded(true)}\n onError={() => setUnsupportedPreview(true)}\n />\n </div>\n ) : null}\n </div>\n );\n }\n\n return (\n <svg\n className=\"lb-attachment-icon\"\n width={30}\n height={30}\n viewBox=\"0 0 30 30\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6 5a2 2 0 0 1 2-2h5.843a4 4 0 0 1 2.829 1.172l6.156 6.156A4 4 0 0 1 24 13.157V25a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V5Z\"\n className=\"lb-attachment-icon-shadow\"\n />\n <path\n d=\"M6 5a2 2 0 0 1 2-2h5.843a4 4 0 0 1 2.829 1.172l6.156 6.156A4 4 0 0 1 24 13.157V25a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V5Z\"\n className=\"lb-attachment-icon-background\"\n />\n <path\n d=\"M14.382 3.037a4 4 0 0 1 2.29 1.135l6.156 6.157a4 4 0 0 1 1.136 2.289A2 2 0 0 0 22 11h-4a2 2 0 0 1-2-2V5a2 2 0 0 0-1.618-1.963Z\"\n className=\"lb-attachment-icon-fold\"\n />\n\n <g className=\"lb-attachment-icon-glyph\">\n <path d=\"M12 16h6a1 1 0 0 1 1 1v3l-1.293-1.293a1 1 0 0 0-1.414 0L14.09 20.91l-.464-.386a1 1 0 0 0-1.265-.013l-1.231.985A.995.995 0 0 1 11 21v-4a1 1 0 0 1 1-1Zm-2 1a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2v-4Zm3 2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\" />\n </g>\n </svg>\n );\n}\n"],"names":["memo","forwardRef","jsx","classNames","jsxs","overrides","useChatAttachmentUrl","splitFileName","useOverrides","formatFileSize","useState","MAX_DISPLAYED_MEDIA_SIZE","SpinnerIcon"],"mappings":"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"}
1
+ {"version":3,"file":"AiChatUserMessage.cjs","sources":["../../../src/components/internal/AiChatUserMessage.tsx"],"sourcesContent":["import type { UiUserMessage } from \"@liveblocks/core\";\nimport type { ComponentProps } from \"react\";\nimport { forwardRef, memo } from \"react\";\n\nimport { type GlobalOverrides, useOverrides } from \"../../overrides\";\nimport { classNames } from \"../../utils/class-names\";\n\n/* -------------------------------------------------------------------------------------------------\n * AiChatUserMessage\n * -----------------------------------------------------------------------------------------------*/\nexport interface AiChatUserMessageProps extends ComponentProps<\"div\"> {\n /**\n * The message to display.\n */\n message: UiUserMessage;\n /**\n * Override the component's strings.\n */\n overrides?: Partial<GlobalOverrides>;\n}\n\nexport const AiChatUserMessage = memo(\n forwardRef<HTMLDivElement, AiChatUserMessageProps>(\n ({ message, className, overrides }, forwardedRef) => {\n const $ = useOverrides(overrides);\n const paragraphs = message.content\n .filter((c) => c.type === \"text\")\n .map((c) => c.text);\n\n return (\n <div\n ref={forwardedRef}\n className={classNames(\n \"lb-ai-chat-message lb-ai-chat-user-message\",\n className\n )}\n >\n <div className=\"lb-ai-chat-message-content\">\n {message.deletedAt !== undefined ? (\n <div className=\"lb-ai-chat-message-deleted\">\n {$.AI_CHAT_MESSAGE_DELETED}\n </div>\n ) : (\n <div className=\"lb-ai-chat-message-text\">\n {/* Mimic the structure of assistant messages even though there's no rich text here yet. */}\n {paragraphs.map((text, index) => (\n <p key={index}>{text}</p>\n ))}\n </div>\n )}\n </div>\n {/* <div className=\"lb-ai-chat-message-actions\" /> */}\n </div>\n );\n }\n )\n);\n"],"names":["memo","forwardRef","overrides","useOverrides","jsx","classNames"],"mappings":";;;;;;;AAqBO,MAAM,iBAAoB,GAAAA,UAAA;AAAA,EAC/BC,gBAAA;AAAA,IACE,CAAC,EAAE,OAAA,EAAS,SAAW,aAAAC,WAAA,IAAa,YAAiB,KAAA;AACnD,MAAM,MAAA,CAAA,GAAIC,uBAAaD,WAAS,CAAA,CAAA;AAChC,MAAA,MAAM,UAAa,GAAA,OAAA,CAAQ,OACxB,CAAA,MAAA,CAAO,CAAC,CAAM,KAAA,CAAA,CAAE,IAAS,KAAA,MAAM,CAC/B,CAAA,GAAA,CAAI,CAAC,CAAA,KAAM,EAAE,IAAI,CAAA,CAAA;AAEpB,MAAA,uBACGE,cAAA,CAAA,KAAA,EAAA;AAAA,QACC,GAAK,EAAA,YAAA;AAAA,QACL,SAAW,EAAAC,qBAAA;AAAA,UACT,4CAAA;AAAA,UACA,SAAA;AAAA,SACF;AAAA,QAEA,QAAC,kBAAAD,cAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAU,EAAA,4BAAA;AAAA,UACZ,QAAA,EAAA,OAAA,CAAQ,SAAc,KAAA,KAAA,CAAA,mBACpBA,cAAA,CAAA,KAAA,EAAA;AAAA,YAAI,SAAU,EAAA,4BAAA;AAAA,YACZ,QAAE,EAAA,CAAA,CAAA,uBAAA;AAAA,WACL,oBAECA,cAAA,CAAA,KAAA,EAAA;AAAA,YAAI,SAAU,EAAA,yBAAA;AAAA,YAEZ,QAAW,EAAA,UAAA,CAAA,GAAA,CAAI,CAAC,IAAA,EAAM,0BACpBA,cAAA,CAAA,GAAA,EAAA;AAAA,cAAe,QAAA,EAAA,IAAA;AAAA,aAAA,EAAR,KAAa,CACtB,CAAA;AAAA,WACH,CAAA;AAAA,SAEJ,CAAA;AAAA,OAEF,CAAA,CAAA;AAAA,KAEJ;AAAA,GACF;AACF;;;;"}
@@ -1,185 +1,35 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { memo, forwardRef, useState } from 'react';
3
- import '../../icons/index.js';
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { memo, forwardRef } from 'react';
4
3
  import { useOverrides } from '../../overrides.js';
5
4
  import { classNames } from '../../utils/class-names.js';
6
- import { formatFileSize } from '../../utils/format-file-size.js';
7
- import { useChatAttachmentUrl, splitFileName, MAX_DISPLAYED_MEDIA_SIZE } from './AiChatComposer.js';
8
- import { SpinnerIcon } from '../../icons/Spinner.js';
9
5
 
10
6
  const AiChatUserMessage = memo(
11
7
  forwardRef(
12
- ({ message, className }, forwardedRef) => {
13
- const text = message.content.filter((c) => c.type === "text").map((c) => c.text).join("\n");
14
- const images = message.content.filter((c) => c.type === "image");
15
- if (message.deletedAt !== void 0) {
16
- return /* @__PURE__ */ jsx("div", {
17
- ref: forwardedRef,
18
- className: classNames("lb-ai-chat-user-message", className),
19
- children: /* @__PURE__ */ jsx("div", {
20
- className: "lb-ai-chat-user-message-deleted",
21
- children: "This message has been deleted."
22
- })
23
- });
24
- }
25
- return /* @__PURE__ */ jsxs("div", {
8
+ ({ message, className, overrides }, forwardedRef) => {
9
+ const $ = useOverrides(overrides);
10
+ const paragraphs = message.content.filter((c) => c.type === "text").map((c) => c.text);
11
+ return /* @__PURE__ */ jsx("div", {
26
12
  ref: forwardedRef,
27
- className: classNames("lb-ai-chat-user-message", className),
28
- children: [
29
- images.length > 0 && /* @__PURE__ */ jsx("div", {
30
- className: "lb-ai-chat-user-message-attachments",
31
- children: /* @__PURE__ */ jsx("div", {
32
- className: "lb-ai-chat-user-message-media-attachments",
33
- children: images.map((image) => /* @__PURE__ */ jsx(AiChatUserMessageMediaAttachment, {
34
- chatId: message.chatId,
35
- attachment: image,
36
- className: "lb-ai-chat-user-message-attachment"
37
- }, image.id))
38
- })
39
- }),
40
- /* @__PURE__ */ jsx("div", {
41
- className: "lb-ai-chat-user-message-content",
42
- children: /* @__PURE__ */ jsx("div", {
43
- className: "lb-ai-chat-user-message-body",
13
+ className: classNames(
14
+ "lb-ai-chat-message lb-ai-chat-user-message",
15
+ className
16
+ ),
17
+ children: /* @__PURE__ */ jsx("div", {
18
+ className: "lb-ai-chat-message-content",
19
+ children: message.deletedAt !== void 0 ? /* @__PURE__ */ jsx("div", {
20
+ className: "lb-ai-chat-message-deleted",
21
+ children: $.AI_CHAT_MESSAGE_DELETED
22
+ }) : /* @__PURE__ */ jsx("div", {
23
+ className: "lb-ai-chat-message-text",
24
+ children: paragraphs.map((text, index) => /* @__PURE__ */ jsx("p", {
44
25
  children: text
45
- })
26
+ }, index))
46
27
  })
47
- ]
28
+ })
48
29
  });
49
30
  }
50
31
  )
51
32
  );
52
- function AiChatUserMessageMediaAttachment({
53
- className,
54
- chatId,
55
- attachment,
56
- overrides,
57
- onClick,
58
- onKeyDown,
59
- ...props
60
- }) {
61
- if (!attachment.mimeType.startsWith("image/")) {
62
- throw new Error("Only image attachments are supported.");
63
- }
64
- const { url } = useChatAttachmentUrl(chatId, attachment.id);
65
- const { base, extension } = splitFileName(attachment.name);
66
- const $ = useOverrides(overrides);
67
- const description = formatFileSize(attachment.size, $.locale);
68
- return /* @__PURE__ */ jsxs("div", {
69
- className: classNames(
70
- "lb-ai-chat-user-message-attachment lb-attachment lb-media-attachment",
71
- className
72
- ),
73
- role: url !== void 0 ? "button" : void 0,
74
- tabIndex: url !== void 0 ? 0 : -1,
75
- onKeyDown: (event) => {
76
- onKeyDown?.(event);
77
- if (event.isDefaultPrevented())
78
- return;
79
- if (url === void 0)
80
- return;
81
- if (event.key === "Enter" || event.key === " ") {
82
- window.open(url, "_blank");
83
- }
84
- },
85
- ...props,
86
- onClick: (event) => {
87
- onClick?.(event);
88
- if (event.isDefaultPrevented())
89
- return;
90
- if (url === void 0)
91
- return;
92
- window.open(url, "_blank");
93
- },
94
- children: [
95
- /* @__PURE__ */ jsx(AttachmentPreview, {
96
- attachment,
97
- url
98
- }),
99
- /* @__PURE__ */ jsxs("div", {
100
- className: "lb-attachment-details",
101
- children: [
102
- /* @__PURE__ */ jsxs("span", {
103
- className: "lb-attachment-name",
104
- title: attachment.name,
105
- children: [
106
- /* @__PURE__ */ jsx("span", {
107
- className: "lb-attachment-name-base",
108
- children: base
109
- }),
110
- extension && /* @__PURE__ */ jsx("span", {
111
- className: "lb-attachment-name-extension",
112
- children: extension
113
- })
114
- ]
115
- }),
116
- /* @__PURE__ */ jsx("span", {
117
- className: "lb-attachment-description",
118
- title: description,
119
- children: description
120
- })
121
- ]
122
- })
123
- ]
124
- });
125
- }
126
- function AttachmentPreview({
127
- attachment,
128
- url,
129
- ...props
130
- }) {
131
- const [isUnsupportedPreview, setUnsupportedPreview] = useState(false);
132
- const [isLoaded, setLoaded] = useState(false);
133
- if (!isUnsupportedPreview && attachment.size <= MAX_DISPLAYED_MEDIA_SIZE) {
134
- return /* @__PURE__ */ jsxs("div", {
135
- className: "lb-attachment-preview",
136
- ...props,
137
- children: [
138
- !isLoaded ? /* @__PURE__ */ jsx(SpinnerIcon, {}) : null,
139
- url ? /* @__PURE__ */ jsx("div", {
140
- className: "lb-attachment-preview-media",
141
- "data-hidden": !isLoaded ? "" : void 0,
142
- children: /* @__PURE__ */ jsx("img", {
143
- src: url,
144
- loading: "lazy",
145
- onLoad: () => setLoaded(true),
146
- onError: () => setUnsupportedPreview(true)
147
- })
148
- }) : null
149
- ]
150
- });
151
- }
152
- return /* @__PURE__ */ jsxs("svg", {
153
- className: "lb-attachment-icon",
154
- width: 30,
155
- height: 30,
156
- viewBox: "0 0 30 30",
157
- fill: "currentColor",
158
- fillRule: "evenodd",
159
- clipRule: "evenodd",
160
- xmlns: "http://www.w3.org/2000/svg",
161
- children: [
162
- /* @__PURE__ */ jsx("path", {
163
- d: "M6 5a2 2 0 0 1 2-2h5.843a4 4 0 0 1 2.829 1.172l6.156 6.156A4 4 0 0 1 24 13.157V25a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V5Z",
164
- className: "lb-attachment-icon-shadow"
165
- }),
166
- /* @__PURE__ */ jsx("path", {
167
- d: "M6 5a2 2 0 0 1 2-2h5.843a4 4 0 0 1 2.829 1.172l6.156 6.156A4 4 0 0 1 24 13.157V25a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V5Z",
168
- className: "lb-attachment-icon-background"
169
- }),
170
- /* @__PURE__ */ jsx("path", {
171
- d: "M14.382 3.037a4 4 0 0 1 2.29 1.135l6.156 6.157a4 4 0 0 1 1.136 2.289A2 2 0 0 0 22 11h-4a2 2 0 0 1-2-2V5a2 2 0 0 0-1.618-1.963Z",
172
- className: "lb-attachment-icon-fold"
173
- }),
174
- /* @__PURE__ */ jsx("g", {
175
- className: "lb-attachment-icon-glyph",
176
- children: /* @__PURE__ */ jsx("path", {
177
- d: "M12 16h6a1 1 0 0 1 1 1v3l-1.293-1.293a1 1 0 0 0-1.414 0L14.09 20.91l-.464-.386a1 1 0 0 0-1.265-.013l-1.231.985A.995.995 0 0 1 11 21v-4a1 1 0 0 1 1-1Zm-2 1a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2v-4Zm3 2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"
178
- })
179
- })
180
- ]
181
- });
182
- }
183
33
 
184
34
  export { AiChatUserMessage };
185
35
  //# sourceMappingURL=AiChatUserMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AiChatUserMessage.js","sources":["../../../src/components/internal/AiChatUserMessage.tsx"],"sourcesContent":["import type { UiUserMessage } from \"@liveblocks/core\";\nimport type { HTMLAttributes } from \"react\";\nimport { forwardRef, memo, useState } from \"react\";\n\nimport { SpinnerIcon } from \"../../icons\";\nimport type { GlobalOverrides } from \"../../overrides\";\nimport { useOverrides } from \"../../overrides\";\nimport { classNames } from \"../../utils/class-names\";\nimport { formatFileSize } from \"../../utils/format-file-size\";\nimport {\n MAX_DISPLAYED_MEDIA_SIZE,\n splitFileName,\n useChatAttachmentUrl,\n} from \"./AiChatComposer\";\n\n/* -------------------------------------------------------------------------------------------------\n * AiChatUserMessage\n * -----------------------------------------------------------------------------------------------*/\nexport type AiChatUserMessageProps = HTMLAttributes<HTMLDivElement> & {\n /**\n * The message to display.\n */\n message: UiUserMessage;\n /**\n * Override the component's strings.\n */\n overrides?: Partial<GlobalOverrides>;\n};\n\nexport const AiChatUserMessage = memo(\n forwardRef<HTMLDivElement, AiChatUserMessageProps>(\n ({ message, className }, forwardedRef) => {\n const text = message.content\n .filter((c) => c.type === \"text\")\n .map((c) => c.text)\n .join(\"\\n\");\n\n const images = message.content.filter((c) => c.type === \"image\");\n\n if (message.deletedAt !== undefined) {\n return (\n <div\n ref={forwardedRef}\n className={classNames(\"lb-ai-chat-user-message\", className)}\n >\n <div className=\"lb-ai-chat-user-message-deleted\">\n This message has been deleted.\n </div>\n </div>\n );\n }\n\n return (\n <div\n ref={forwardedRef}\n className={classNames(\"lb-ai-chat-user-message\", className)}\n >\n {images.length > 0 && (\n <div className=\"lb-ai-chat-user-message-attachments\">\n <div className=\"lb-ai-chat-user-message-media-attachments\">\n {images.map((image) => (\n <AiChatUserMessageMediaAttachment\n key={image.id}\n chatId={message.chatId}\n attachment={image}\n className=\"lb-ai-chat-user-message-attachment\"\n />\n ))}\n </div>\n </div>\n )}\n\n <div className=\"lb-ai-chat-user-message-content\">\n <div className=\"lb-ai-chat-user-message-body\">{text}</div>\n </div>\n </div>\n );\n }\n )\n);\n\ntype AiChatUserMessageMediaAttachmentProps = HTMLAttributes<HTMLDivElement> & {\n chatId: string;\n attachment: {\n id: string;\n name: string;\n size: number;\n mimeType: string;\n };\n overrides?: Partial<GlobalOverrides>;\n};\n\nfunction AiChatUserMessageMediaAttachment({\n className,\n chatId,\n attachment,\n overrides,\n onClick,\n onKeyDown,\n ...props\n}: AiChatUserMessageMediaAttachmentProps) {\n if (!attachment.mimeType.startsWith(\"image/\")) {\n throw new Error(\"Only image attachments are supported.\");\n }\n\n const { url } = useChatAttachmentUrl(chatId, attachment.id);\n\n const { base, extension } = splitFileName(attachment.name);\n const $ = useOverrides(overrides);\n const description = formatFileSize(attachment.size, $.locale);\n\n return (\n <div\n className={classNames(\n \"lb-ai-chat-user-message-attachment lb-attachment lb-media-attachment\",\n className\n )}\n role={url !== undefined ? \"button\" : undefined}\n tabIndex={url !== undefined ? 0 : -1}\n onKeyDown={(event) => {\n onKeyDown?.(event);\n if (event.isDefaultPrevented()) return;\n\n if (url === undefined) return;\n if (event.key === \"Enter\" || event.key === \" \") {\n window.open(url, \"_blank\");\n }\n }}\n {...props}\n onClick={(event) => {\n onClick?.(event);\n if (event.isDefaultPrevented()) return;\n\n if (url === undefined) return;\n window.open(url, \"_blank\");\n }}\n >\n <AttachmentPreview attachment={attachment} url={url} />\n\n <div className=\"lb-attachment-details\">\n <span className=\"lb-attachment-name\" title={attachment.name}>\n <span className=\"lb-attachment-name-base\">{base}</span>\n {extension && (\n <span className=\"lb-attachment-name-extension\">{extension}</span>\n )}\n </span>\n\n <span className=\"lb-attachment-description\" title={description}>\n {description}\n </span>\n </div>\n </div>\n );\n}\n\ntype AttachmentPreviewProps = HTMLAttributes<HTMLDivElement> & {\n attachment: { name: string; size: number };\n url: string | undefined;\n};\n\nfunction AttachmentPreview({\n attachment,\n url,\n ...props\n}: AttachmentPreviewProps) {\n const [isUnsupportedPreview, setUnsupportedPreview] = useState(false);\n const [isLoaded, setLoaded] = useState(false);\n\n if (!isUnsupportedPreview && attachment.size <= MAX_DISPLAYED_MEDIA_SIZE) {\n return (\n <div className=\"lb-attachment-preview\" {...props}>\n {!isLoaded ? <SpinnerIcon /> : null}\n\n {url ? (\n <div\n className=\"lb-attachment-preview-media\"\n data-hidden={!isLoaded ? \"\" : undefined}\n >\n <img\n src={url}\n loading=\"lazy\"\n onLoad={() => setLoaded(true)}\n onError={() => setUnsupportedPreview(true)}\n />\n </div>\n ) : null}\n </div>\n );\n }\n\n return (\n <svg\n className=\"lb-attachment-icon\"\n width={30}\n height={30}\n viewBox=\"0 0 30 30\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6 5a2 2 0 0 1 2-2h5.843a4 4 0 0 1 2.829 1.172l6.156 6.156A4 4 0 0 1 24 13.157V25a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V5Z\"\n className=\"lb-attachment-icon-shadow\"\n />\n <path\n d=\"M6 5a2 2 0 0 1 2-2h5.843a4 4 0 0 1 2.829 1.172l6.156 6.156A4 4 0 0 1 24 13.157V25a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V5Z\"\n className=\"lb-attachment-icon-background\"\n />\n <path\n d=\"M14.382 3.037a4 4 0 0 1 2.29 1.135l6.156 6.157a4 4 0 0 1 1.136 2.289A2 2 0 0 0 22 11h-4a2 2 0 0 1-2-2V5a2 2 0 0 0-1.618-1.963Z\"\n className=\"lb-attachment-icon-fold\"\n />\n\n <g className=\"lb-attachment-icon-glyph\">\n <path d=\"M12 16h6a1 1 0 0 1 1 1v3l-1.293-1.293a1 1 0 0 0-1.414 0L14.09 20.91l-.464-.386a1 1 0 0 0-1.265-.013l-1.231.985A.995.995 0 0 1 11 21v-4a1 1 0 0 1 1-1Zm-2 1a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-6a2 2 0 0 1-2-2v-4Zm3 2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\" />\n </g>\n </svg>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AiChatUserMessage.js","sources":["../../../src/components/internal/AiChatUserMessage.tsx"],"sourcesContent":["import type { UiUserMessage } from \"@liveblocks/core\";\nimport type { ComponentProps } from \"react\";\nimport { forwardRef, memo } from \"react\";\n\nimport { type GlobalOverrides, useOverrides } from \"../../overrides\";\nimport { classNames } from \"../../utils/class-names\";\n\n/* -------------------------------------------------------------------------------------------------\n * AiChatUserMessage\n * -----------------------------------------------------------------------------------------------*/\nexport interface AiChatUserMessageProps extends ComponentProps<\"div\"> {\n /**\n * The message to display.\n */\n message: UiUserMessage;\n /**\n * Override the component's strings.\n */\n overrides?: Partial<GlobalOverrides>;\n}\n\nexport const AiChatUserMessage = memo(\n forwardRef<HTMLDivElement, AiChatUserMessageProps>(\n ({ message, className, overrides }, forwardedRef) => {\n const $ = useOverrides(overrides);\n const paragraphs = message.content\n .filter((c) => c.type === \"text\")\n .map((c) => c.text);\n\n return (\n <div\n ref={forwardedRef}\n className={classNames(\n \"lb-ai-chat-message lb-ai-chat-user-message\",\n className\n )}\n >\n <div className=\"lb-ai-chat-message-content\">\n {message.deletedAt !== undefined ? (\n <div className=\"lb-ai-chat-message-deleted\">\n {$.AI_CHAT_MESSAGE_DELETED}\n </div>\n ) : (\n <div className=\"lb-ai-chat-message-text\">\n {/* Mimic the structure of assistant messages even though there's no rich text here yet. */}\n {paragraphs.map((text, index) => (\n <p key={index}>{text}</p>\n ))}\n </div>\n )}\n </div>\n {/* <div className=\"lb-ai-chat-message-actions\" /> */}\n </div>\n );\n }\n )\n);\n"],"names":[],"mappings":";;;;;AAqBO,MAAM,iBAAoB,GAAA,IAAA;AAAA,EAC/B,UAAA;AAAA,IACE,CAAC,EAAE,OAAA,EAAS,SAAW,EAAA,SAAA,IAAa,YAAiB,KAAA;AACnD,MAAM,MAAA,CAAA,GAAI,aAAa,SAAS,CAAA,CAAA;AAChC,MAAA,MAAM,UAAa,GAAA,OAAA,CAAQ,OACxB,CAAA,MAAA,CAAO,CAAC,CAAM,KAAA,CAAA,CAAE,IAAS,KAAA,MAAM,CAC/B,CAAA,GAAA,CAAI,CAAC,CAAA,KAAM,EAAE,IAAI,CAAA,CAAA;AAEpB,MAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,QACC,GAAK,EAAA,YAAA;AAAA,QACL,SAAW,EAAA,UAAA;AAAA,UACT,4CAAA;AAAA,UACA,SAAA;AAAA,SACF;AAAA,QAEA,QAAC,kBAAA,GAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAU,EAAA,4BAAA;AAAA,UACZ,QAAA,EAAA,OAAA,CAAQ,SAAc,KAAA,KAAA,CAAA,mBACpB,GAAA,CAAA,KAAA,EAAA;AAAA,YAAI,SAAU,EAAA,4BAAA;AAAA,YACZ,QAAE,EAAA,CAAA,CAAA,uBAAA;AAAA,WACL,oBAEC,GAAA,CAAA,KAAA,EAAA;AAAA,YAAI,SAAU,EAAA,yBAAA;AAAA,YAEZ,QAAW,EAAA,UAAA,CAAA,GAAA,CAAI,CAAC,IAAA,EAAM,0BACpB,GAAA,CAAA,GAAA,EAAA;AAAA,cAAe,QAAA,EAAA,IAAA;AAAA,aAAA,EAAR,KAAa,CACtB,CAAA;AAAA,WACH,CAAA;AAAA,SAEJ,CAAA;AAAA,OAEF,CAAA,CAAA;AAAA,KAEJ;AAAA,GACF;AACF;;;;"}
@@ -3,8 +3,10 @@
3
3
  const FLOATING_ELEMENT_SIDE_OFFSET = 6;
4
4
  const FLOATING_ELEMENT_COLLISION_PADDING = 10;
5
5
  const EMOJI_FONT_FAMILY = "'Apple Color Emoji', 'Noto Color Emoji', 'Twemoji Mozilla', 'Android Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', EmojiSymbols, sans-serif";
6
+ const MENTION_CHARACTER = "@";
6
7
 
7
8
  exports.EMOJI_FONT_FAMILY = EMOJI_FONT_FAMILY;
8
9
  exports.FLOATING_ELEMENT_COLLISION_PADDING = FLOATING_ELEMENT_COLLISION_PADDING;
9
10
  exports.FLOATING_ELEMENT_SIDE_OFFSET = FLOATING_ELEMENT_SIDE_OFFSET;
11
+ exports.MENTION_CHARACTER = MENTION_CHARACTER;
10
12
  //# sourceMappingURL=constants.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.cjs","sources":["../src/constants.ts"],"sourcesContent":["export const FLOATING_ELEMENT_SIDE_OFFSET = 6;\nexport const FLOATING_ELEMENT_COLLISION_PADDING = 10;\n\nexport const EMOJI_FONT_FAMILY =\n \"'Apple Color Emoji', 'Noto Color Emoji', 'Twemoji Mozilla', 'Android Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', EmojiSymbols, sans-serif\";\n"],"names":[],"mappings":";;AAAO,MAAM,4BAA+B,GAAA,EAAA;AACrC,MAAM,kCAAqC,GAAA,GAAA;AAE3C,MAAM,iBACX,GAAA;;;;;;"}
1
+ {"version":3,"file":"constants.cjs","sources":["../src/constants.ts"],"sourcesContent":["export const FLOATING_ELEMENT_SIDE_OFFSET = 6;\nexport const FLOATING_ELEMENT_COLLISION_PADDING = 10;\n\nexport const EMOJI_FONT_FAMILY =\n \"'Apple Color Emoji', 'Noto Color Emoji', 'Twemoji Mozilla', 'Android Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', EmojiSymbols, sans-serif\";\n\nexport const MENTION_CHARACTER = \"@\";\n"],"names":[],"mappings":";;AAAO,MAAM,4BAA+B,GAAA,EAAA;AACrC,MAAM,kCAAqC,GAAA,GAAA;AAE3C,MAAM,iBACX,GAAA,6IAAA;AAEK,MAAM,iBAAoB,GAAA;;;;;;;"}
package/dist/constants.js CHANGED
@@ -1,6 +1,7 @@
1
1
  const FLOATING_ELEMENT_SIDE_OFFSET = 6;
2
2
  const FLOATING_ELEMENT_COLLISION_PADDING = 10;
3
3
  const EMOJI_FONT_FAMILY = "'Apple Color Emoji', 'Noto Color Emoji', 'Twemoji Mozilla', 'Android Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', EmojiSymbols, sans-serif";
4
+ const MENTION_CHARACTER = "@";
4
5
 
5
- export { EMOJI_FONT_FAMILY, FLOATING_ELEMENT_COLLISION_PADDING, FLOATING_ELEMENT_SIDE_OFFSET };
6
+ export { EMOJI_FONT_FAMILY, FLOATING_ELEMENT_COLLISION_PADDING, FLOATING_ELEMENT_SIDE_OFFSET, MENTION_CHARACTER };
6
7
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../src/constants.ts"],"sourcesContent":["export const FLOATING_ELEMENT_SIDE_OFFSET = 6;\nexport const FLOATING_ELEMENT_COLLISION_PADDING = 10;\n\nexport const EMOJI_FONT_FAMILY =\n \"'Apple Color Emoji', 'Noto Color Emoji', 'Twemoji Mozilla', 'Android Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', EmojiSymbols, sans-serif\";\n"],"names":[],"mappings":"AAAO,MAAM,4BAA+B,GAAA,EAAA;AACrC,MAAM,kCAAqC,GAAA,GAAA;AAE3C,MAAM,iBACX,GAAA;;;;"}
1
+ {"version":3,"file":"constants.js","sources":["../src/constants.ts"],"sourcesContent":["export const FLOATING_ELEMENT_SIDE_OFFSET = 6;\nexport const FLOATING_ELEMENT_COLLISION_PADDING = 10;\n\nexport const EMOJI_FONT_FAMILY =\n \"'Apple Color Emoji', 'Noto Color Emoji', 'Twemoji Mozilla', 'Android Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', EmojiSymbols, sans-serif\";\n\nexport const MENTION_CHARACTER = \"@\";\n"],"names":[],"mappings":"AAAO,MAAM,4BAA+B,GAAA,EAAA;AACrC,MAAM,kCAAqC,GAAA,GAAA;AAE3C,MAAM,iBACX,GAAA,6IAAA;AAEK,MAAM,iBAAoB,GAAA;;;;"}
package/dist/icon.cjs CHANGED
@@ -17,6 +17,7 @@ var ChevronRight = require('./icons/ChevronRight.cjs');
17
17
  var ChevronUp = require('./icons/ChevronUp.cjs');
18
18
  var Code = require('./icons/Code.cjs');
19
19
  var Comment = require('./icons/Comment.cjs');
20
+ var Copy = require('./icons/Copy.cjs');
20
21
  var Cross = require('./icons/Cross.cjs');
21
22
  var Ellipsis = require('./icons/Ellipsis.cjs');
22
23
  var Emoji = require('./icons/Emoji.cjs');
@@ -31,6 +32,7 @@ var ListUnordered = require('./icons/ListUnordered.cjs');
31
32
  var Mention = require('./icons/Mention.cjs');
32
33
  var QuestionMark = require('./icons/QuestionMark.cjs');
33
34
  var Redo = require('./icons/Redo.cjs');
35
+ var Retry = require('./icons/Retry.cjs');
34
36
  var Search = require('./icons/Search.cjs');
35
37
  var Send = require('./icons/Send.cjs');
36
38
  var Shorten = require('./icons/Shorten.cjs');
@@ -62,6 +64,7 @@ exports.ChevronRight = ChevronRight.ChevronRightIcon;
62
64
  exports.ChevronUp = ChevronUp.ChevronUpIcon;
63
65
  exports.Code = Code.CodeIcon;
64
66
  exports.Comment = Comment.CommentIcon;
67
+ exports.Copy = Copy.CopyIcon;
65
68
  exports.Cross = Cross.CrossIcon;
66
69
  exports.Ellipsis = Ellipsis.EllipsisIcon;
67
70
  exports.Emoji = Emoji.EmojiIcon;
@@ -76,6 +79,7 @@ exports.ListUnordered = ListUnordered.ListUnorderedIcon;
76
79
  exports.Mention = Mention.MentionIcon;
77
80
  exports.QuestionMark = QuestionMark.QuestionMarkIcon;
78
81
  exports.Redo = Redo.RedoIcon;
82
+ exports.Retry = Retry.RetryIcon;
79
83
  exports.Search = Search.SearchIcon;
80
84
  exports.Send = Send.SendIcon;
81
85
  exports.Shorten = Shorten.ShortenIcon;
package/dist/icon.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"icon.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"icon.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/icon.js CHANGED
@@ -15,6 +15,7 @@ export { ChevronRightIcon as ChevronRight } from './icons/ChevronRight.js';
15
15
  export { ChevronUpIcon as ChevronUp } from './icons/ChevronUp.js';
16
16
  export { CodeIcon as Code } from './icons/Code.js';
17
17
  export { CommentIcon as Comment } from './icons/Comment.js';
18
+ export { CopyIcon as Copy } from './icons/Copy.js';
18
19
  export { CrossIcon as Cross } from './icons/Cross.js';
19
20
  export { EllipsisIcon as Ellipsis } from './icons/Ellipsis.js';
20
21
  export { EmojiIcon as Emoji } from './icons/Emoji.js';
@@ -29,6 +30,7 @@ export { ListUnorderedIcon as ListUnordered } from './icons/ListUnordered.js';
29
30
  export { MentionIcon as Mention } from './icons/Mention.js';
30
31
  export { QuestionMarkIcon as QuestionMark } from './icons/QuestionMark.js';
31
32
  export { RedoIcon as Redo } from './icons/Redo.js';
33
+ export { RetryIcon as Retry } from './icons/Retry.js';
32
34
  export { SearchIcon as Search } from './icons/Search.js';
33
35
  export { SendIcon as Send } from './icons/Send.js';
34
36
  export { ShortenIcon as Shorten } from './icons/Shorten.js';
package/dist/icon.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"icon.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -7,16 +7,15 @@ function CopyIcon(props) {
7
7
  return /* @__PURE__ */ jsxRuntime.jsxs(Icon.Icon, {
8
8
  ...props,
9
9
  children: [
10
- /* @__PURE__ */ jsxRuntime.jsx("rect", {
11
- x: "7.33",
12
- y: "7.33",
13
- width: "9.48",
14
- height: "9.48",
15
- rx: "1.38",
16
- ry: "1.38"
17
- }),
18
10
  /* @__PURE__ */ jsxRuntime.jsx("path", {
19
- d: "M4.57 12.67 c-0.73 0 -1.38 -0.65 -1.38 -1.38 V4.57 c0 -0.73 0.65 -1.38 1.38 -1.38 h6.72 c0.73 0 1.38 0.65 1.38 1.38"
11
+ d: "M4.5 12.91c-.58-.2-1-.76-1-1.41v-6c0-1.1.9-2 2-2h6c.65 0 1.2.42 1.41 1"
12
+ }),
13
+ /* @__PURE__ */ jsxRuntime.jsx("rect", {
14
+ x: 7,
15
+ y: 7,
16
+ width: 9.5,
17
+ height: 9.5,
18
+ rx: 1.5
20
19
  })
21
20
  ]
22
21
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Copy.cjs","sources":["../../src/icons/Copy.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\n\nimport { Icon } from \"../components/internal/Icon\";\n\nexport function CopyIcon(props: ComponentProps<\"svg\">) {\n return (\n <Icon {...props}>\n <rect x=\"7.33\" y=\"7.33\" width=\"9.48\" height=\"9.48\" rx=\"1.38\" ry=\"1.38\" />\n <path d=\"M4.57 12.67 c-0.73 0 -1.38 -0.65 -1.38 -1.38 V4.57 c0 -0.73 0.65 -1.38 1.38 -1.38 h6.72 c0.73 0 1.38 0.65 1.38 1.38\" />\n </Icon>\n );\n}\n"],"names":["jsxs","Icon","jsx"],"mappings":";;;;;AAIO,SAAS,SAAS,KAA8B,EAAA;AACrD,EAAA,uBACGA,eAAA,CAAAC,SAAA,EAAA;AAAA,IAAM,GAAG,KAAA;AAAA,IACR,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAA,MAAA,EAAA;AAAA,QAAK,CAAE,EAAA,MAAA;AAAA,QAAO,CAAE,EAAA,MAAA;AAAA,QAAO,KAAM,EAAA,MAAA;AAAA,QAAO,MAAO,EAAA,MAAA;AAAA,QAAO,EAAG,EAAA,MAAA;AAAA,QAAO,EAAG,EAAA,MAAA;AAAA,OAAO,CAAA;AAAA,sBACtEA,cAAA,CAAA,MAAA,EAAA;AAAA,QAAK,CAAE,EAAA,qHAAA;AAAA,OAAsH,CAAA;AAAA,KAAA;AAAA,GAChI,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Copy.cjs","sources":["../../src/icons/Copy.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\n\nimport { Icon } from \"../components/internal/Icon\";\n\nexport function CopyIcon(props: ComponentProps<\"svg\">) {\n return (\n <Icon {...props}>\n <path d=\"M4.5 12.91c-.58-.2-1-.76-1-1.41v-6c0-1.1.9-2 2-2h6c.65 0 1.2.42 1.41 1\" />\n <rect x={7} y={7} width={9.5} height={9.5} rx={1.5} />\n </Icon>\n );\n}\n"],"names":["jsxs","Icon","jsx"],"mappings":";;;;;AAIO,SAAS,SAAS,KAA8B,EAAA;AACrD,EAAA,uBACGA,eAAA,CAAAC,SAAA,EAAA;AAAA,IAAM,GAAG,KAAA;AAAA,IACR,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAA,MAAA,EAAA;AAAA,QAAK,CAAE,EAAA,wEAAA;AAAA,OAAyE,CAAA;AAAA,sBAChFA,cAAA,CAAA,MAAA,EAAA;AAAA,QAAK,CAAG,EAAA,CAAA;AAAA,QAAG,CAAG,EAAA,CAAA;AAAA,QAAG,KAAO,EAAA,GAAA;AAAA,QAAK,MAAQ,EAAA,GAAA;AAAA,QAAK,EAAI,EAAA,GAAA;AAAA,OAAK,CAAA;AAAA,KAAA;AAAA,GACtD,CAAA,CAAA;AAEJ;;;;"}
@@ -5,16 +5,15 @@ function CopyIcon(props) {
5
5
  return /* @__PURE__ */ jsxs(Icon, {
6
6
  ...props,
7
7
  children: [
8
- /* @__PURE__ */ jsx("rect", {
9
- x: "7.33",
10
- y: "7.33",
11
- width: "9.48",
12
- height: "9.48",
13
- rx: "1.38",
14
- ry: "1.38"
15
- }),
16
8
  /* @__PURE__ */ jsx("path", {
17
- d: "M4.57 12.67 c-0.73 0 -1.38 -0.65 -1.38 -1.38 V4.57 c0 -0.73 0.65 -1.38 1.38 -1.38 h6.72 c0.73 0 1.38 0.65 1.38 1.38"
9
+ d: "M4.5 12.91c-.58-.2-1-.76-1-1.41v-6c0-1.1.9-2 2-2h6c.65 0 1.2.42 1.41 1"
10
+ }),
11
+ /* @__PURE__ */ jsx("rect", {
12
+ x: 7,
13
+ y: 7,
14
+ width: 9.5,
15
+ height: 9.5,
16
+ rx: 1.5
18
17
  })
19
18
  ]
20
19
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Copy.js","sources":["../../src/icons/Copy.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\n\nimport { Icon } from \"../components/internal/Icon\";\n\nexport function CopyIcon(props: ComponentProps<\"svg\">) {\n return (\n <Icon {...props}>\n <rect x=\"7.33\" y=\"7.33\" width=\"9.48\" height=\"9.48\" rx=\"1.38\" ry=\"1.38\" />\n <path d=\"M4.57 12.67 c-0.73 0 -1.38 -0.65 -1.38 -1.38 V4.57 c0 -0.73 0.65 -1.38 1.38 -1.38 h6.72 c0.73 0 1.38 0.65 1.38 1.38\" />\n </Icon>\n );\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,SAAS,KAA8B,EAAA;AACrD,EAAA,uBACG,IAAA,CAAA,IAAA,EAAA;AAAA,IAAM,GAAG,KAAA;AAAA,IACR,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,MAAA,EAAA;AAAA,QAAK,CAAE,EAAA,MAAA;AAAA,QAAO,CAAE,EAAA,MAAA;AAAA,QAAO,KAAM,EAAA,MAAA;AAAA,QAAO,MAAO,EAAA,MAAA;AAAA,QAAO,EAAG,EAAA,MAAA;AAAA,QAAO,EAAG,EAAA,MAAA;AAAA,OAAO,CAAA;AAAA,sBACtE,GAAA,CAAA,MAAA,EAAA;AAAA,QAAK,CAAE,EAAA,qHAAA;AAAA,OAAsH,CAAA;AAAA,KAAA;AAAA,GAChI,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Copy.js","sources":["../../src/icons/Copy.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\n\nimport { Icon } from \"../components/internal/Icon\";\n\nexport function CopyIcon(props: ComponentProps<\"svg\">) {\n return (\n <Icon {...props}>\n <path d=\"M4.5 12.91c-.58-.2-1-.76-1-1.41v-6c0-1.1.9-2 2-2h6c.65 0 1.2.42 1.41 1\" />\n <rect x={7} y={7} width={9.5} height={9.5} rx={1.5} />\n </Icon>\n );\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,SAAS,KAA8B,EAAA;AACrD,EAAA,uBACG,IAAA,CAAA,IAAA,EAAA;AAAA,IAAM,GAAG,KAAA;AAAA,IACR,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,MAAA,EAAA;AAAA,QAAK,CAAE,EAAA,wEAAA;AAAA,OAAyE,CAAA;AAAA,sBAChF,GAAA,CAAA,MAAA,EAAA;AAAA,QAAK,CAAG,EAAA,CAAA;AAAA,QAAG,CAAG,EAAA,CAAA;AAAA,QAAG,KAAO,EAAA,GAAA;AAAA,QAAK,MAAQ,EAAA,GAAA;AAAA,QAAK,EAAI,EAAA,GAAA;AAAA,OAAK,CAAA;AAAA,KAAA;AAAA,GACtD,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var Icon = require('../components/internal/Icon.cjs');
5
+
6
+ function RetryIcon(props) {
7
+ return /* @__PURE__ */ jsxRuntime.jsxs(Icon.Icon, {
8
+ ...props,
9
+ children: [
10
+ /* @__PURE__ */ jsxRuntime.jsx("path", {
11
+ d: "M3.67 7a7 7 0 0 1 13.26 2M3.07 11a7 7 0 0 0 13.26 2"
12
+ }),
13
+ /* @__PURE__ */ jsxRuntime.jsx("path", {
14
+ d: "M3.5 3.5V7H7m9.5 9.5V13H13"
15
+ })
16
+ ]
17
+ });
18
+ }
19
+
20
+ exports.RetryIcon = RetryIcon;
21
+ //# sourceMappingURL=Retry.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Retry.cjs","sources":["../../src/icons/Retry.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\n\nimport { Icon } from \"../components/internal/Icon\";\n\nexport function RetryIcon(props: ComponentProps<\"svg\">) {\n return (\n <Icon {...props}>\n <path d=\"M3.67 7a7 7 0 0 1 13.26 2M3.07 11a7 7 0 0 0 13.26 2\" />\n <path d=\"M3.5 3.5V7H7m9.5 9.5V13H13\" />\n </Icon>\n );\n}\n"],"names":["jsxs","Icon","jsx"],"mappings":";;;;;AAIO,SAAS,UAAU,KAA8B,EAAA;AACtD,EAAA,uBACGA,eAAA,CAAAC,SAAA,EAAA;AAAA,IAAM,GAAG,KAAA;AAAA,IACR,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAA,MAAA,EAAA;AAAA,QAAK,CAAE,EAAA,qDAAA;AAAA,OAAsD,CAAA;AAAA,sBAC7DA,cAAA,CAAA,MAAA,EAAA;AAAA,QAAK,CAAE,EAAA,4BAAA;AAAA,OAA6B,CAAA;AAAA,KAAA;AAAA,GACvC,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,19 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { Icon } from '../components/internal/Icon.js';
3
+
4
+ function RetryIcon(props) {
5
+ return /* @__PURE__ */ jsxs(Icon, {
6
+ ...props,
7
+ children: [
8
+ /* @__PURE__ */ jsx("path", {
9
+ d: "M3.67 7a7 7 0 0 1 13.26 2M3.07 11a7 7 0 0 0 13.26 2"
10
+ }),
11
+ /* @__PURE__ */ jsx("path", {
12
+ d: "M3.5 3.5V7H7m9.5 9.5V13H13"
13
+ })
14
+ ]
15
+ });
16
+ }
17
+
18
+ export { RetryIcon };
19
+ //# sourceMappingURL=Retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Retry.js","sources":["../../src/icons/Retry.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\n\nimport { Icon } from \"../components/internal/Icon\";\n\nexport function RetryIcon(props: ComponentProps<\"svg\">) {\n return (\n <Icon {...props}>\n <path d=\"M3.67 7a7 7 0 0 1 13.26 2M3.07 11a7 7 0 0 0 13.26 2\" />\n <path d=\"M3.5 3.5V7H7m9.5 9.5V13H13\" />\n </Icon>\n );\n}\n"],"names":[],"mappings":";;;AAIO,SAAS,UAAU,KAA8B,EAAA;AACtD,EAAA,uBACG,IAAA,CAAA,IAAA,EAAA;AAAA,IAAM,GAAG,KAAA;AAAA,IACR,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,MAAA,EAAA;AAAA,QAAK,CAAE,EAAA,qDAAA;AAAA,OAAsD,CAAA;AAAA,sBAC7D,GAAA,CAAA,MAAA,EAAA;AAAA,QAAK,CAAE,EAAA,4BAAA;AAAA,OAA6B,CAAA;AAAA,KAAA;AAAA,GACvC,CAAA,CAAA;AAEJ;;;;"}
@@ -16,6 +16,7 @@ var ChevronRight = require('./ChevronRight.cjs');
16
16
  var ChevronUp = require('./ChevronUp.cjs');
17
17
  var Code = require('./Code.cjs');
18
18
  var Comment = require('./Comment.cjs');
19
+ var Copy = require('./Copy.cjs');
19
20
  var Cross = require('./Cross.cjs');
20
21
  var Delete = require('./Delete.cjs');
21
22
  var Edit = require('./Edit.cjs');
@@ -35,6 +36,7 @@ var Redo = require('./Redo.cjs');
35
36
  var Resolve = require('./Resolve.cjs');
36
37
  var Resolved = require('./Resolved.cjs');
37
38
  var Restore = require('./Restore.cjs');
39
+ var Retry = require('./Retry.cjs');
38
40
  var Search = require('./Search.cjs');
39
41
  var Send = require('./Send.cjs');
40
42
  var Shorten = require('./Shorten.cjs');
@@ -67,6 +69,7 @@ exports.ChevronRightIcon = ChevronRight.ChevronRightIcon;
67
69
  exports.ChevronUpIcon = ChevronUp.ChevronUpIcon;
68
70
  exports.CodeIcon = Code.CodeIcon;
69
71
  exports.CommentIcon = Comment.CommentIcon;
72
+ exports.CopyIcon = Copy.CopyIcon;
70
73
  exports.CrossIcon = Cross.CrossIcon;
71
74
  exports.DeleteIcon = Delete.DeleteIcon;
72
75
  exports.EditIcon = Edit.EditIcon;
@@ -86,6 +89,7 @@ exports.RedoIcon = Redo.RedoIcon;
86
89
  exports.ResolveIcon = Resolve.ResolveIcon;
87
90
  exports.ResolvedIcon = Resolved.ResolvedIcon;
88
91
  exports.RestoreIcon = Restore.RestoreIcon;
92
+ exports.RetryIcon = Retry.RetryIcon;
89
93
  exports.SearchIcon = Search.SearchIcon;
90
94
  exports.SendIcon = Send.SendIcon;
91
95
  exports.ShortenIcon = Shorten.ShortenIcon;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -14,6 +14,7 @@ export { ChevronRightIcon } from './ChevronRight.js';
14
14
  export { ChevronUpIcon } from './ChevronUp.js';
15
15
  export { CodeIcon } from './Code.js';
16
16
  export { CommentIcon } from './Comment.js';
17
+ export { CopyIcon } from './Copy.js';
17
18
  export { CrossIcon } from './Cross.js';
18
19
  export { DeleteIcon } from './Delete.js';
19
20
  export { EditIcon } from './Edit.js';
@@ -33,6 +34,7 @@ export { RedoIcon } from './Redo.js';
33
34
  export { ResolveIcon } from './Resolve.js';
34
35
  export { ResolvedIcon } from './Resolved.js';
35
36
  export { RestoreIcon } from './Restore.js';
37
+ export { RetryIcon } from './Retry.js';
36
38
  export { SearchIcon } from './Search.js';
37
39
  export { SendIcon } from './Send.js';
38
40
  export { ShortenIcon } from './Shorten.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  var core = require('@liveblocks/core');
4
4
  var version = require('./version.cjs');
5
- var AiChat = require('./components/AiChat/AiChat.cjs');
5
+ var AiChat = require('./components/AiChat.cjs');
6
6
  var Comment = require('./components/Comment.cjs');
7
7
  var Composer = require('./components/Composer.cjs');
8
8
  var HistoryVersionSummary = require('./components/HistoryVersionSummary.cjs');
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import { detectDupes } from \"@liveblocks/core\";\n\nimport { PKG_FORMAT, PKG_NAME, PKG_VERSION } from \"./version\";\n\ndetectDupes(PKG_NAME, PKG_VERSION, PKG_FORMAT);\n\nexport { AiChat, type AiChatProps } from \"./components/AiChat/AiChat\";\nexport type { CommentProps } from \"./components/Comment\";\nexport { Comment } from \"./components/Comment\";\nexport type { ComposerProps } from \"./components/Composer\";\nexport { Composer } from \"./components/Composer\";\nexport type { HistoryVersionSummaryProps } from \"./components/HistoryVersionSummary\";\nexport { HistoryVersionSummary } from \"./components/HistoryVersionSummary\";\nexport type { HistoryVersionSummaryListProps } from \"./components/HistoryVersionSummaryList\";\nexport { HistoryVersionSummaryList } from \"./components/HistoryVersionSummaryList\";\nexport type {\n InboxNotificationAvatarProps,\n InboxNotificationCustomKindProps,\n InboxNotificationCustomProps,\n InboxNotificationIconProps,\n InboxNotificationProps,\n InboxNotificationTextMentionKindProps,\n InboxNotificationTextMentionProps,\n InboxNotificationThreadKindProps,\n InboxNotificationThreadProps,\n} from \"./components/InboxNotification\";\nexport { InboxNotification } from \"./components/InboxNotification\";\nexport type { InboxNotificationListProps } from \"./components/InboxNotificationList\";\nexport { InboxNotificationList } from \"./components/InboxNotificationList\";\nexport type { ThreadProps } from \"./components/Thread\";\nexport { Thread } from \"./components/Thread\";\nexport { LiveblocksUIConfig } from \"./config\";\nexport * as Icon from \"./icon\";\nexport type {\n ChatComposerOverrides,\n CommentOverrides,\n ComposerOverrides,\n GlobalOverrides,\n InboxNotificationOverrides,\n LocalizationOverrides,\n Overrides,\n ThreadOverrides,\n} from \"./overrides\";\nexport { useOverrides } from \"./overrides\";\nexport type { ComposerSubmitComment } from \"./primitives\";\nexport type {\n CommentAttachmentArgs,\n ComposerBodyMark,\n ComposerBodyMarks,\n} from \"./types\";\n"],"names":["detectDupes","PKG_NAME","PKG_VERSION","PKG_FORMAT"],"mappings":";;;;;;;;;;;;;;;;AAIAA,gBAAY,CAAAC,gBAAA,EAAUC,qBAAaC,kBAAU,CAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import { detectDupes } from \"@liveblocks/core\";\n\nimport { PKG_FORMAT, PKG_NAME, PKG_VERSION } from \"./version\";\n\ndetectDupes(PKG_NAME, PKG_VERSION, PKG_FORMAT);\n\nexport type { AiChatProps } from \"./components/AiChat\";\nexport { AiChat } from \"./components/AiChat\";\nexport type { CommentProps } from \"./components/Comment\";\nexport { Comment } from \"./components/Comment\";\nexport type { ComposerProps } from \"./components/Composer\";\nexport { Composer } from \"./components/Composer\";\nexport type { HistoryVersionSummaryProps } from \"./components/HistoryVersionSummary\";\nexport { HistoryVersionSummary } from \"./components/HistoryVersionSummary\";\nexport type { HistoryVersionSummaryListProps } from \"./components/HistoryVersionSummaryList\";\nexport { HistoryVersionSummaryList } from \"./components/HistoryVersionSummaryList\";\nexport type {\n InboxNotificationAvatarProps,\n InboxNotificationCustomKindProps,\n InboxNotificationCustomProps,\n InboxNotificationIconProps,\n InboxNotificationProps,\n InboxNotificationTextMentionKindProps,\n InboxNotificationTextMentionProps,\n InboxNotificationThreadKindProps,\n InboxNotificationThreadProps,\n} from \"./components/InboxNotification\";\nexport { InboxNotification } from \"./components/InboxNotification\";\nexport type { InboxNotificationListProps } from \"./components/InboxNotificationList\";\nexport { InboxNotificationList } from \"./components/InboxNotificationList\";\nexport type { ThreadProps } from \"./components/Thread\";\nexport { Thread } from \"./components/Thread\";\nexport { LiveblocksUIConfig } from \"./config\";\nexport * as Icon from \"./icon\";\nexport type {\n CommentOverrides,\n ComposerOverrides,\n GlobalOverrides,\n InboxNotificationOverrides,\n LocalizationOverrides,\n Overrides,\n ThreadOverrides,\n} from \"./overrides\";\nexport { useOverrides } from \"./overrides\";\nexport type { ComposerSubmitComment } from \"./primitives\";\nexport type {\n CommentAttachmentArgs,\n ComposerBodyMark,\n ComposerBodyMarks,\n} from \"./types\";\n"],"names":["detectDupes","PKG_NAME","PKG_VERSION","PKG_FORMAT"],"mappings":";;;;;;;;;;;;;;;;AAIAA,gBAAY,CAAAC,gBAAA,EAAUC,qBAAaC,kBAAU,CAAA;;;;;;;;;;;;;;"}