igniteui-webcomponents 6.3.0-alpha.0 → 6.3.0-alpha.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 (269) hide show
  1. package/components/accordion/accordion.js +1 -4
  2. package/components/accordion/accordion.js.map +1 -1
  3. package/components/button/themes/button/button.base.css.js +1 -1
  4. package/components/button/themes/button/button.base.css.js.map +1 -1
  5. package/components/button/themes/button/shared/button.common.css.js +1 -1
  6. package/components/button/themes/button/shared/button.common.css.js.map +1 -1
  7. package/components/button/themes/button/shared/button.fluent.css.js +1 -1
  8. package/components/button/themes/button/shared/button.fluent.css.js.map +1 -1
  9. package/components/button/themes/button/shared/button.indigo.css.js +1 -1
  10. package/components/button/themes/button/shared/button.indigo.css.js.map +1 -1
  11. package/components/button/themes/icon-button/icon-button.base.css.js +1 -1
  12. package/components/button/themes/icon-button/icon-button.base.css.js.map +1 -1
  13. package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js +1 -1
  14. package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js.map +1 -1
  15. package/components/button/themes/icon-button/shared/icon-button.fluent.css.js +1 -1
  16. package/components/button/themes/icon-button/shared/icon-button.fluent.css.js.map +1 -1
  17. package/components/button/themes/icon-button/shared/icon-button.indigo.css.js +1 -1
  18. package/components/button/themes/icon-button/shared/icon-button.indigo.css.js.map +1 -1
  19. package/components/button/themes/icon-button/shared/icon-button.material.css.js +1 -1
  20. package/components/button/themes/icon-button/shared/icon-button.material.css.js.map +1 -1
  21. package/components/button-group/themes/shared/button/button.bootstrap.css.js +1 -1
  22. package/components/button-group/themes/shared/button/button.bootstrap.css.js.map +1 -1
  23. package/components/button-group/themes/shared/button/button.common.css.js +1 -1
  24. package/components/button-group/themes/shared/button/button.common.css.js.map +1 -1
  25. package/components/button-group/themes/shared/button/button.indigo.css.js +1 -1
  26. package/components/button-group/themes/shared/button/button.indigo.css.js.map +1 -1
  27. package/components/calendar/days-view/days-view.js +1 -3
  28. package/components/calendar/days-view/days-view.js.map +1 -1
  29. package/components/calendar/months-view/months-view.js +1 -3
  30. package/components/calendar/months-view/months-view.js.map +1 -1
  31. package/components/calendar/themes/year-month-view.base.css.js +1 -1
  32. package/components/calendar/themes/year-month-view.base.css.js.map +1 -1
  33. package/components/calendar/years-view/years-view.js +1 -3
  34. package/components/calendar/years-view/years-view.js.map +1 -1
  35. package/components/carousel/carousel.js +0 -3
  36. package/components/carousel/carousel.js.map +1 -1
  37. package/components/chat/assets/file.png +0 -0
  38. package/components/chat/assets/json.png +0 -0
  39. package/components/chat/assets/link.png +0 -0
  40. package/components/chat/chat-input.d.ts +6 -22
  41. package/components/chat/chat-input.js +34 -163
  42. package/components/chat/chat-input.js.map +1 -1
  43. package/components/chat/chat-message-list.d.ts +5 -46
  44. package/components/chat/chat-message-list.js +16 -105
  45. package/components/chat/chat-message-list.js.map +1 -1
  46. package/components/chat/chat-message.d.ts +8 -18
  47. package/components/chat/chat-message.js +40 -29
  48. package/components/chat/chat-message.js.map +1 -1
  49. package/components/chat/chat-renderer.d.ts +14 -0
  50. package/components/chat/chat-renderer.js +39 -0
  51. package/components/chat/chat-renderer.js.map +1 -0
  52. package/components/chat/chat-state.d.ts +116 -21
  53. package/components/chat/chat-state.js +446 -75
  54. package/components/chat/chat-state.js.map +1 -1
  55. package/components/chat/chat.d.ts +27 -14
  56. package/components/chat/chat.js +145 -63
  57. package/components/chat/chat.js.map +1 -1
  58. package/components/chat/markdown-renderer.d.ts +72 -0
  59. package/components/chat/markdown-renderer.js +71 -0
  60. package/components/chat/markdown-renderer.js.map +1 -0
  61. package/components/chat/message-attachments.d.ts +0 -7
  62. package/components/chat/message-attachments.js +3 -81
  63. package/components/chat/message-attachments.js.map +1 -1
  64. package/components/chat/plain-text-renderer.d.ts +15 -0
  65. package/components/chat/plain-text-renderer.js +7 -0
  66. package/components/chat/plain-text-renderer.js.map +1 -0
  67. package/components/chat/themes/chat.base.css.js +1 -1
  68. package/components/chat/themes/chat.base.css.js.map +1 -1
  69. package/components/chat/themes/dark/chat.bootstrap.css.js +1 -1
  70. package/components/chat/themes/dark/chat.bootstrap.css.js.map +1 -1
  71. package/components/chat/themes/dark/chat.fluent.css.js +1 -1
  72. package/components/chat/themes/dark/chat.fluent.css.js.map +1 -1
  73. package/components/chat/themes/dark/chat.indigo.css.js +1 -1
  74. package/components/chat/themes/dark/chat.indigo.css.js.map +1 -1
  75. package/components/chat/themes/input.base.css.js +1 -1
  76. package/components/chat/themes/input.base.css.js.map +1 -1
  77. package/components/chat/themes/light/chat.bootstrap.css.js +1 -1
  78. package/components/chat/themes/light/chat.bootstrap.css.js.map +1 -1
  79. package/components/chat/themes/light/chat.fluent.css.js +1 -1
  80. package/components/chat/themes/light/chat.fluent.css.js.map +1 -1
  81. package/components/chat/themes/light/chat.indigo.css.js +1 -1
  82. package/components/chat/themes/light/chat.indigo.css.js.map +1 -1
  83. package/components/chat/themes/light/chat.shared.css.js +1 -1
  84. package/components/chat/themes/light/chat.shared.css.js.map +1 -1
  85. package/components/chat/themes/message-attachments.base.css.js +1 -1
  86. package/components/chat/themes/message-attachments.base.css.js.map +1 -1
  87. package/components/chat/themes/message-list.base.css.js +1 -1
  88. package/components/chat/themes/message-list.base.css.js.map +1 -1
  89. package/components/chat/themes/message.base.css.js +1 -1
  90. package/components/chat/themes/message.base.css.js.map +1 -1
  91. package/components/chat/themes/message.d.ts +2 -0
  92. package/components/chat/themes/message.js +28 -0
  93. package/components/chat/themes/message.js.map +1 -0
  94. package/components/chat/themes/shared/chat-message/chat-message.bootstrap.css.js +3 -0
  95. package/components/chat/themes/shared/chat-message/chat-message.bootstrap.css.js.map +1 -0
  96. package/components/chat/themes/shared/chat-message/chat-message.common.css.d.ts +1 -0
  97. package/components/chat/themes/shared/chat-message/chat-message.common.css.js +3 -0
  98. package/components/chat/themes/shared/chat-message/chat-message.common.css.js.map +1 -0
  99. package/components/chat/themes/shared/chat-message/chat-message.fluent.css.d.ts +1 -0
  100. package/components/chat/themes/shared/chat-message/chat-message.fluent.css.js +3 -0
  101. package/components/chat/themes/shared/chat-message/chat-message.fluent.css.js.map +1 -0
  102. package/components/chat/themes/shared/chat-message/chat-message.indigo.css.d.ts +1 -0
  103. package/components/chat/themes/shared/chat-message/chat-message.indigo.css.js +3 -0
  104. package/components/chat/themes/shared/chat-message/chat-message.indigo.css.js.map +1 -0
  105. package/components/chat/themes/shared/chat.bootstrap.css.d.ts +1 -0
  106. package/components/chat/themes/shared/chat.bootstrap.css.js +3 -0
  107. package/components/chat/themes/shared/chat.bootstrap.css.js.map +1 -0
  108. package/components/chat/themes/shared/chat.indigo.css.d.ts +1 -0
  109. package/components/chat/themes/shared/chat.indigo.css.js +3 -0
  110. package/components/chat/themes/shared/chat.indigo.css.js.map +1 -0
  111. package/components/chat/themes/shared/input/input.common.css.js +1 -1
  112. package/components/chat/themes/shared/input/input.common.css.js.map +1 -1
  113. package/components/chat/themes/shared/input/input.indigo.css.js +1 -1
  114. package/components/chat/themes/shared/input/input.indigo.css.js.map +1 -1
  115. package/components/chat/themes/shared/message-attachments.common.css.js +1 -1
  116. package/components/chat/themes/shared/message-attachments.common.css.js.map +1 -1
  117. package/components/chat/themes/shared/message-list.common.css.js +1 -1
  118. package/components/chat/themes/shared/message-list.common.css.js.map +1 -1
  119. package/components/chat/themes/themes.js +6 -4
  120. package/components/chat/themes/themes.js.map +1 -1
  121. package/components/chat/types.d.ts +72 -18
  122. package/components/chat/types.js +7 -0
  123. package/components/chat/types.js.map +1 -1
  124. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js +1 -1
  125. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js.map +1 -1
  126. package/components/checkbox/themes/shared/switch/switch.common.css.js +1 -1
  127. package/components/checkbox/themes/shared/switch/switch.common.css.js.map +1 -1
  128. package/components/checkbox/themes/shared/switch/switch.fluent.css.js +1 -1
  129. package/components/checkbox/themes/shared/switch/switch.fluent.css.js.map +1 -1
  130. package/components/checkbox/themes/shared/switch/switch.indigo.css.js +1 -1
  131. package/components/checkbox/themes/shared/switch/switch.indigo.css.js.map +1 -1
  132. package/components/chip/themes/chip.base.css.js +1 -1
  133. package/components/chip/themes/chip.base.css.js.map +1 -1
  134. package/components/chip/themes/shared/chip.indigo.css.js +1 -1
  135. package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
  136. package/components/combo/controllers/navigation.js +1 -1
  137. package/components/combo/controllers/navigation.js.map +1 -1
  138. package/components/combo/themes/combo-item.base.css.js +1 -1
  139. package/components/combo/themes/combo-item.base.css.js.map +1 -1
  140. package/components/combo/themes/combo.base.css.js +1 -1
  141. package/components/combo/themes/combo.base.css.js.map +1 -1
  142. package/components/combo/themes/shared/combo.bootstrap.css.js +1 -1
  143. package/components/combo/themes/shared/combo.bootstrap.css.js.map +1 -1
  144. package/components/combo/themes/shared/combo.common.css.js +1 -1
  145. package/components/combo/themes/shared/combo.common.css.js.map +1 -1
  146. package/components/combo/themes/shared/combo.fluent.css.js +1 -1
  147. package/components/combo/themes/shared/combo.fluent.css.js.map +1 -1
  148. package/components/combo/themes/shared/combo.indigo.css.js +1 -1
  149. package/components/combo/themes/shared/combo.indigo.css.js.map +1 -1
  150. package/components/combo/themes/shared/combo.material.css.js +1 -1
  151. package/components/combo/themes/shared/combo.material.css.js.map +1 -1
  152. package/components/common/controllers/key-bindings.js +4 -3
  153. package/components/common/controllers/key-bindings.js.map +1 -1
  154. package/components/common/i18n/chat.resources.d.ts +8 -0
  155. package/components/common/i18n/chat.resources.js +8 -0
  156. package/components/common/i18n/chat.resources.js.map +1 -0
  157. package/components/common/util.d.ts +14 -0
  158. package/components/common/util.js +51 -1
  159. package/components/common/util.js.map +1 -1
  160. package/components/date-picker/date-picker.js +2 -2
  161. package/components/date-picker/date-picker.js.map +1 -1
  162. package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
  163. package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
  164. package/components/date-range-picker/date-range-picker.js +0 -1
  165. package/components/date-range-picker/date-range-picker.js.map +1 -1
  166. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js +1 -1
  167. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js.map +1 -1
  168. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js +1 -1
  169. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js.map +1 -1
  170. package/components/date-time-input/date-time-input.js +1 -1
  171. package/components/date-time-input/date-time-input.js.map +1 -1
  172. package/components/dropdown/themes/dropdown-group.base.css.js +1 -1
  173. package/components/dropdown/themes/dropdown-group.base.css.js.map +1 -1
  174. package/components/dropdown/themes/dropdown-item.base.css.js +1 -1
  175. package/components/dropdown/themes/dropdown-item.base.css.js.map +1 -1
  176. package/components/dropdown/themes/shared/group/dropdown-group.fluent.css.js +1 -1
  177. package/components/dropdown/themes/shared/group/dropdown-group.fluent.css.js.map +1 -1
  178. package/components/dropdown/themes/shared/header/dropdown-header.common.css.js +1 -1
  179. package/components/dropdown/themes/shared/header/dropdown-header.common.css.js.map +1 -1
  180. package/components/dropdown/themes/shared/header/dropdown-header.indigo.css.js +1 -1
  181. package/components/dropdown/themes/shared/header/dropdown-header.indigo.css.js.map +1 -1
  182. package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js +1 -1
  183. package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js.map +1 -1
  184. package/components/expansion-panel/expansion-panel.js +0 -1
  185. package/components/expansion-panel/expansion-panel.js.map +1 -1
  186. package/components/expansion-panel/themes/expansion-panel.base.css.js +1 -1
  187. package/components/expansion-panel/themes/expansion-panel.base.css.js.map +1 -1
  188. package/components/expansion-panel/themes/shared/expansion-panel.indigo.css.js +1 -1
  189. package/components/expansion-panel/themes/shared/expansion-panel.indigo.css.js.map +1 -1
  190. package/components/file-input/themes/shared/file-input.bootstrap.css.js +1 -1
  191. package/components/file-input/themes/shared/file-input.bootstrap.css.js.map +1 -1
  192. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  193. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  194. package/components/input/themes/shared/input.common.css.js +1 -1
  195. package/components/input/themes/shared/input.common.css.js.map +1 -1
  196. package/components/input/themes/shared/input.fluent.css.js +1 -1
  197. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  198. package/components/input/themes/shared/input.indigo.css.js +1 -1
  199. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  200. package/components/input/themes/shared/input.material.css.js +1 -1
  201. package/components/input/themes/shared/input.material.css.js.map +1 -1
  202. package/components/list/themes/header.base.css.js +1 -1
  203. package/components/list/themes/header.base.css.js.map +1 -1
  204. package/components/list/themes/item.base.css.js +1 -1
  205. package/components/list/themes/item.base.css.js.map +1 -1
  206. package/components/list/themes/shared/header/list-header.indigo.css.js +1 -1
  207. package/components/list/themes/shared/header/list-header.indigo.css.js.map +1 -1
  208. package/components/list/themes/shared/item/list-item.indigo.css.js +1 -1
  209. package/components/list/themes/shared/item/list-item.indigo.css.js.map +1 -1
  210. package/components/rating/rating.js +0 -1
  211. package/components/rating/rating.js.map +1 -1
  212. package/components/select/themes/dark/select.bootstrap.css.js +1 -1
  213. package/components/select/themes/dark/select.bootstrap.css.js.map +1 -1
  214. package/components/select/themes/light/select.bootstrap.css.js +1 -1
  215. package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
  216. package/components/select/themes/shared/select.bootstrap.css.js +1 -1
  217. package/components/select/themes/shared/select.bootstrap.css.js.map +1 -1
  218. package/components/select/themes/shared/select.common.css.js +1 -1
  219. package/components/select/themes/shared/select.common.css.js.map +1 -1
  220. package/components/select/themes/shared/select.material.css.js +1 -1
  221. package/components/select/themes/shared/select.material.css.js.map +1 -1
  222. package/components/slider/slider-base.js +0 -1
  223. package/components/slider/slider-base.js.map +1 -1
  224. package/components/tabs/tabs.js +0 -1
  225. package/components/tabs/tabs.js.map +1 -1
  226. package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
  227. package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
  228. package/components/textarea/themes/shared/textarea.common.css.js +1 -1
  229. package/components/textarea/themes/shared/textarea.common.css.js.map +1 -1
  230. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  231. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  232. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  233. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  234. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  235. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  236. package/components/textarea/themes/textarea.base.css.js +1 -1
  237. package/components/textarea/themes/textarea.base.css.js.map +1 -1
  238. package/components/tree/themes/item.base.css.js +1 -1
  239. package/components/tree/themes/item.base.css.js.map +1 -1
  240. package/components/tree/themes/shared/item.indigo.css.js +1 -1
  241. package/components/tree/themes/shared/item.indigo.css.js.map +1 -1
  242. package/components/tree/tree.js +3 -1
  243. package/components/tree/tree.js.map +1 -1
  244. package/components/tree/tree.navigation.js +3 -3
  245. package/components/tree/tree.navigation.js.map +1 -1
  246. package/components/tree/tree.selection.js +6 -2
  247. package/components/tree/tree.selection.js.map +1 -1
  248. package/custom-elements.json +5131 -4707
  249. package/igniteui-webcomponents.css-data.json +1 -1
  250. package/igniteui-webcomponents.html-data.json +1 -1
  251. package/index.d.ts +3 -0
  252. package/index.js +3 -0
  253. package/index.js.map +1 -1
  254. package/package.json +1 -1
  255. package/themes/dark/bootstrap.css +1 -1
  256. package/themes/dark/fluent.css +1 -1
  257. package/themes/dark/indigo.css +1 -1
  258. package/themes/dark/material.css +1 -1
  259. package/themes/light/bootstrap.css +1 -1
  260. package/themes/light/fluent.css +1 -1
  261. package/themes/light/indigo.css +1 -1
  262. package/themes/light/material.css +1 -1
  263. package/web-types.json +2 -2
  264. package/components/chat/markdown-util.d.ts +0 -2
  265. package/components/chat/markdown-util.js +0 -22
  266. package/components/chat/markdown-util.js.map +0 -1
  267. package/components/chat/themes/shared/chat-message.common.css.js +0 -3
  268. package/components/chat/themes/shared/chat-message.common.css.js.map +0 -1
  269. /package/components/chat/themes/shared/{chat-message.common.css.d.ts → chat-message/chat-message.bootstrap.css.d.ts} +0 -0
@@ -0,0 +1,72 @@
1
+ import { type TemplateResult } from 'lit';
2
+ import type { ChatMessageRenderer, IgcMessage } from './types.js';
3
+ /**
4
+ * Options to configure the MarkdownMessageRenderer.
5
+ */
6
+ export interface MarkdownRendererOptions {
7
+ /**
8
+ * If true, disables syntax highlighting entirely.
9
+ */
10
+ noHighlighter?: boolean;
11
+ /**
12
+ * A custom syntax highlighter compatible with Shiki's `codeToHtml()` API.
13
+ */
14
+ highlighter?: any;
15
+ /**
16
+ * List of programming languages to support in syntax highlighting.
17
+ */
18
+ languages?: string[];
19
+ /**
20
+ * The theme used by the syntax highlighter (e.g., 'github-light').
21
+ */
22
+ theme?: string;
23
+ /**
24
+ * A custom HTML sanitization function. Defaults to DOMPurify.sanitize.
25
+ */
26
+ sanitizer?: (html: string) => string;
27
+ }
28
+ /**
29
+ * A renderer that converts markdown chat messages to HTML using `marked`,
30
+ * with optional syntax highlighting powered by `shiki` or a custom highlighter.
31
+ *
32
+ * @implements {ChatMessageRenderer}
33
+ */
34
+ export declare class MarkdownMessageRenderer implements ChatMessageRenderer {
35
+ private opts;
36
+ private highlighter?;
37
+ private theme;
38
+ private langs;
39
+ private _marked;
40
+ private initialized;
41
+ private _sanitizer;
42
+ /**
43
+ * Creates a new MarkdownMessageRenderer.
44
+ *
45
+ * @param {MarkdownRendererOptions} [opts={}] - Configuration options.
46
+ */
47
+ constructor(opts?: MarkdownRendererOptions);
48
+ /**
49
+ * Initializes the `marked` instance with custom renderer options.
50
+ * Currently modifies link rendering to open in a new tab with safe attributes.
51
+ *
52
+ * @private
53
+ */
54
+ private initMarked;
55
+ private initSanitizer;
56
+ /**
57
+ * Performs async initialization for syntax highlighting.
58
+ * Loads Shiki and configures the `marked` instance with `marked-shiki`.
59
+ * This is called lazily during rendering unless pre-called explicitly.
60
+ *
61
+ * @async
62
+ * @returns {Promise<void>} A promise that resolves once initialization is complete.
63
+ */
64
+ init(): Promise<void>;
65
+ /**
66
+ * Renders the given chat message as markdown, with optional syntax highlighting.
67
+ *
68
+ * @param {IgcMessage} message - The message to render.
69
+ * @returns {Promise<TemplateResult>} A lit template containing the rendered markdown content.
70
+ */
71
+ render(message: IgcMessage): Promise<TemplateResult>;
72
+ }
@@ -0,0 +1,71 @@
1
+ import DOMPurify from 'dompurify';
2
+ import { html } from 'lit';
3
+ import { Marked, Renderer } from 'marked';
4
+ export class MarkdownMessageRenderer {
5
+ constructor(opts = {}) {
6
+ this.opts = opts;
7
+ this.initialized = false;
8
+ this.theme = opts.theme ?? 'github-light';
9
+ this.langs = opts.languages ?? ['javascript', 'typescript', 'html', 'css'];
10
+ this.highlighter = opts.highlighter;
11
+ this._marked = new Marked();
12
+ this.initMarked();
13
+ this._sanitizer = this.initSanitizer();
14
+ }
15
+ initMarked() {
16
+ const renderer = new Renderer();
17
+ renderer.link = (href, title, text) => {
18
+ return `<a href="${href}" target="_blank" rel="noopener noreferrer" ${title ? `title="${title}"` : ''}>${text}</a>`;
19
+ };
20
+ this._marked.setOptions({
21
+ gfm: true,
22
+ breaks: true,
23
+ renderer,
24
+ });
25
+ }
26
+ initSanitizer() {
27
+ return this.opts?.sanitizer ?? DOMPurify.sanitize;
28
+ }
29
+ async init() {
30
+ if (this.highlighter || this.opts.noHighlighter) {
31
+ this.initialized = true;
32
+ return;
33
+ }
34
+ const shiki = await import('shiki');
35
+ this.highlighter = await shiki.getSingletonHighlighter({
36
+ themes: [this.theme],
37
+ langs: this.langs,
38
+ });
39
+ const markedShiki = await import('marked-shiki');
40
+ this._marked.use(markedShiki.default({
41
+ highlight: (code, lang) => {
42
+ try {
43
+ const safeLang = lang && this.highlighter.getLoadedLanguages?.().includes(lang)
44
+ ? lang
45
+ : 'text';
46
+ return (this.highlighter?.codeToHtml(code, {
47
+ lang: safeLang,
48
+ themes: { light: this.theme },
49
+ }) ?? code);
50
+ }
51
+ catch (_err) {
52
+ return `<pre><code>${DOMPurify.sanitize(code)}</code></pre>`;
53
+ }
54
+ },
55
+ }));
56
+ this.initialized = true;
57
+ }
58
+ async render(message) {
59
+ if (!this.initialized) {
60
+ await this.init();
61
+ }
62
+ if (!message.text)
63
+ return html ``;
64
+ const rendered = await this._marked?.parse(message.text);
65
+ const cleanHtml = this._sanitizer(rendered);
66
+ const template = document.createElement('template');
67
+ template.innerHTML = cleanHtml ?? message.text;
68
+ return html `${template.content}`;
69
+ }
70
+ }
71
+ //# sourceMappingURL=markdown-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown-renderer.js","sourceRoot":"","sources":["../../../src/components/chat/markdown-renderer.ts"],"names":[],"mappings":"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","sourcesContent":["import DOMPurify from 'dompurify';\nimport { html, type TemplateResult } from 'lit';\nimport { Marked, Renderer } from 'marked';\nimport type { ChatMessageRenderer, IgcMessage } from './types.js';\n\n/**\n * Options to configure the MarkdownMessageRenderer.\n */\nexport interface MarkdownRendererOptions {\n /**\n * If true, disables syntax highlighting entirely.\n */\n noHighlighter?: boolean;\n\n /**\n * A custom syntax highlighter compatible with Shiki's `codeToHtml()` API.\n */\n highlighter?: any;\n\n /**\n * List of programming languages to support in syntax highlighting.\n */\n languages?: string[];\n\n /**\n * The theme used by the syntax highlighter (e.g., 'github-light').\n */\n theme?: string;\n\n /**\n * A custom HTML sanitization function. Defaults to DOMPurify.sanitize.\n */\n sanitizer?: (html: string) => string;\n}\n\n/**\n * A renderer that converts markdown chat messages to HTML using `marked`,\n * with optional syntax highlighting powered by `shiki` or a custom highlighter.\n *\n * @implements {ChatMessageRenderer}\n */\nexport class MarkdownMessageRenderer implements ChatMessageRenderer {\n private highlighter?: any;\n private theme: string;\n private langs: string[];\n private _marked: Marked;\n private initialized = false;\n private _sanitizer: (html: string) => string;\n\n /**\n * Creates a new MarkdownMessageRenderer.\n *\n * @param {MarkdownRendererOptions} [opts={}] - Configuration options.\n */\n constructor(private opts: MarkdownRendererOptions = {}) {\n this.theme = opts.theme ?? 'github-light';\n this.langs = opts.languages ?? ['javascript', 'typescript', 'html', 'css'];\n this.highlighter = opts.highlighter;\n\n this._marked = new Marked();\n this.initMarked();\n this._sanitizer = this.initSanitizer();\n }\n\n /**\n * Initializes the `marked` instance with custom renderer options.\n * Currently modifies link rendering to open in a new tab with safe attributes.\n *\n * @private\n */\n private initMarked() {\n const renderer = new Renderer();\n\n // Customize link rendering\n renderer.link = (href, title, text) => {\n return `<a href=\"${href}\" target=\"_blank\" rel=\"noopener noreferrer\" ${title ? `title=\"${title}\"` : ''}>${text}</a>`;\n };\n\n this._marked.setOptions({\n gfm: true,\n breaks: true,\n renderer,\n });\n }\n\n private initSanitizer() {\n return this.opts?.sanitizer ?? DOMPurify.sanitize;\n }\n\n /**\n * Performs async initialization for syntax highlighting.\n * Loads Shiki and configures the `marked` instance with `marked-shiki`.\n * This is called lazily during rendering unless pre-called explicitly.\n *\n * @async\n * @returns {Promise<void>} A promise that resolves once initialization is complete.\n */\n async init(): Promise<void> {\n if (this.highlighter || this.opts.noHighlighter) {\n this.initialized = true;\n return;\n }\n\n const shiki = await import('shiki');\n this.highlighter = await shiki.getSingletonHighlighter({\n themes: [this.theme],\n langs: this.langs,\n });\n\n const markedShiki = await import('marked-shiki');\n this._marked.use(\n markedShiki.default({\n highlight: (code: any, lang: string) => {\n try {\n const safeLang =\n lang && this.highlighter.getLoadedLanguages?.().includes(lang)\n ? lang\n : 'text';\n\n return (\n this.highlighter?.codeToHtml(code, {\n lang: safeLang,\n themes: { light: this.theme },\n }) ?? code\n );\n } catch (_err) {\n // if Shiki still throws for some reason, just return escaped code\n return `<pre><code>${DOMPurify.sanitize(code)}</code></pre>`;\n }\n },\n })\n );\n\n this.initialized = true;\n }\n\n /**\n * Renders the given chat message as markdown, with optional syntax highlighting.\n *\n * @param {IgcMessage} message - The message to render.\n * @returns {Promise<TemplateResult>} A lit template containing the rendered markdown content.\n */\n async render(message: IgcMessage): Promise<TemplateResult> {\n if (!this.initialized) {\n await this.init();\n }\n\n if (!message.text) return html``;\n\n const rendered = await this._marked?.parse(message.text);\n const cleanHtml = this._sanitizer(rendered);\n const template = document.createElement('template');\n template.innerHTML = cleanHtml ?? message.text;\n\n return html`${template.content}`;\n }\n}\n"]}
@@ -29,13 +29,6 @@ export default class IgcMessageAttachmentsComponent extends LitElement {
29
29
  */
30
30
  message: IgcMessage | undefined;
31
31
  constructor();
32
- private handleHeaderClick;
33
- private getURL;
34
- private defaulAttachmentContent;
35
- private renderAttachmentHeaderText;
36
- private renderAttachmentHeaderActions;
37
- private renderAttachmentContent;
38
- private renderDefaultAttachmentsTemplate;
39
32
  protected render(): import("lit-html").TemplateResult<1>;
40
33
  }
41
34
  declare global {
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { consume } from '@lit/context';
8
- import { html, LitElement, nothing } from 'lit';
8
+ import { html, LitElement } from 'lit';
9
9
  import { property } from 'lit/decorators.js';
10
10
  import IgcIconButtonComponent from '../button/icon-button.js';
11
11
  import { chatContext } from '../common/context.js';
@@ -28,89 +28,11 @@ class IgcMessageAttachmentsComponent extends LitElement {
28
28
  registerIconFromText('preview', previewIcon, 'material');
29
29
  registerIconFromText('more', moreIcon, 'material');
30
30
  }
31
- handleHeaderClick(attachment) {
32
- this._chatState?.emitEvent('igcAttachmentClick', { detail: attachment });
33
- }
34
- getURL(attachment) {
35
- if (attachment.url) {
36
- return attachment.url;
37
- }
38
- if (attachment.file) {
39
- return URL.createObjectURL(attachment.file);
40
- }
41
- return '';
42
- }
43
- defaulAttachmentContent(attachment) {
44
- return html `${attachment.type === 'image' ||
45
- attachment.file?.type.startsWith('image/')
46
- ? html `<img
47
- part="image-attachment"
48
- src=${this.getURL(attachment)}
49
- alt=${attachment.name}
50
- />`
51
- : nothing}`;
52
- }
53
- renderAttachmentHeaderText(attachment) {
54
- return html `<div part="details">
55
- ${this._chatState?.options?.templates?.attachmentHeaderTemplate &&
56
- this.message
57
- ? this._chatState.options.templates.attachmentHeaderTemplate(this.message)
58
- : html `${attachment.type === 'image' ||
59
- attachment.file?.type.startsWith('image/')
60
- ? html `<igc-icon
61
- name="image"
62
- collection="material"
63
- part="attachment-icon"
64
- ></igc-icon>`
65
- : html `<igc-icon
66
- name="file"
67
- collection="material"
68
- part="attachment-icon"
69
- ></igc-icon>`}
70
- <span part="file-name">${attachment.name}</span> `}
71
- </div>`;
72
- }
73
- renderAttachmentHeaderActions() {
74
- return html `<div part="actions">
75
- ${this._chatState?.options?.templates?.attachmentActionsTemplate &&
76
- this.message
77
- ? this._chatState.options.templates.attachmentActionsTemplate(this.message)
78
- : nothing}
79
- </div>`;
80
- }
81
- renderAttachmentContent(attachment) {
82
- return html `<div part="attachment-content">
83
- ${this._chatState?.options?.templates?.attachmentContentTemplate &&
84
- this.message
85
- ? this._chatState.options.templates.attachmentContentTemplate(this.message)
86
- : this.defaulAttachmentContent(attachment)}
87
- </div>`;
88
- }
89
- renderDefaultAttachmentsTemplate() {
90
- return html `${this.message?.attachments?.map((attachment) => html `<div part="attachment">
91
- <div
92
- part="attachment-header"
93
- role="button"
94
- @click=${() => this.handleHeaderClick(attachment)}
95
- >
96
- ${this.renderAttachmentHeaderText(attachment)}
97
- ${this.renderAttachmentHeaderActions()}
98
- </div>
99
-
100
- ${attachment.type === 'image' ||
101
- attachment.file?.type.startsWith('image/') ||
102
- this._chatState?.options?.templates?.attachmentContentTemplate
103
- ? this.renderAttachmentContent(attachment)
104
- : nothing}
105
- </div>`)}`;
106
- }
107
31
  render() {
32
+ const templates = this._chatState?.mergedTemplates;
108
33
  return html `
109
34
  <div part="attachments-container">
110
- ${this._chatState?.options?.templates?.attachmentTemplate &&
111
- this.message
112
- ? this._chatState.options.templates.attachmentTemplate(this.message)
113
- : this.renderDefaultAttachmentsTemplate()}
35
+ ${templates?.attachmentsTemplate(this.message, { templates })}
114
36
  </div>
115
37
  `;
116
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"message-attachments.js","sourceRoot":"","sources":["../../../src/components/chat/message-attachments.ts"],"names":[],"mappings":"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","sourcesContent":["import { consume } from '@lit/context';\nimport { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport IgcIconButtonComponent from '../button/icon-button.js';\nimport { chatContext } from '../common/context.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport IgcExpansionPanelComponent from '../expansion-panel/expansion-panel.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport { registerIconFromText } from '../icon/icon.registry.js';\nimport type { ChatState } from './chat-state.js';\nimport { styles } from './themes/message-attachments.base.css.js';\nimport { styles as shared } from './themes/shared/message-attachments.common.css.js';\nimport {\n closeIcon,\n fileIcon,\n type IgcMessage,\n type IgcMessageAttachment,\n imageIcon,\n moreIcon,\n previewIcon,\n} from './types.js';\n\n/**\n * A component that renders message attachments within a chat.\n *\n * Displays attachments such as images or files, supporting custom templates\n * and default rendering using expansion panels.\n *\n * @element igc-message-attachments\n *\n * @csspart attachments-container - Container wrapping all attachments.\n * @csspart attachment - Wrapper for a single attachment.\n * @csspart attachment-header - Wrapper for a single attachment header.\n * @csspart attachments-content - Part representing the attachment preview.\n * @csspart attachment-icon - Icon part representing the attachment type.\n * @csspart file-name - Part representing the attachment's file name.\n * @csspart actions - Container for header action buttons.\n * @csspart image-attachment - Part for the image element inside an image attachment.\n *\n * @fires igcAttachmentClick - Fired when an attachment header is toggled (clicked).\n */\nexport default class IgcMessageAttachmentsComponent extends LitElement {\n public static readonly tagName = 'igc-message-attachments';\n\n public static override styles = [styles, shared];\n\n @consume({ context: chatContext, subscribe: true })\n private _chatState?: ChatState;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcMessageAttachmentsComponent,\n IgcIconComponent,\n IgcIconButtonComponent,\n IgcExpansionPanelComponent\n );\n }\n\n /**\n * The array of attachments to render.\n */\n @property({ attribute: false })\n message: IgcMessage | undefined;\n\n constructor() {\n super();\n registerIconFromText('close', closeIcon, 'material');\n registerIconFromText('file', fileIcon, 'material');\n registerIconFromText('image', imageIcon, 'material');\n registerIconFromText('preview', previewIcon, 'material');\n registerIconFromText('more', moreIcon, 'material');\n }\n\n private handleHeaderClick(attachment: IgcMessageAttachment) {\n this._chatState?.emitEvent('igcAttachmentClick', { detail: attachment });\n }\n\n private getURL(attachment: IgcMessageAttachment): string {\n if (attachment.url) {\n return attachment.url;\n }\n if (attachment.file) {\n return URL.createObjectURL(attachment.file);\n }\n return '';\n }\n\n private defaulAttachmentContent(attachment: IgcMessageAttachment) {\n return html`${attachment.type === 'image' ||\n attachment.file?.type.startsWith('image/')\n ? html`<img\n part=\"image-attachment\"\n src=${this.getURL(attachment)}\n alt=${attachment.name}\n />`\n : nothing}`;\n }\n\n private renderAttachmentHeaderText(attachment: IgcMessageAttachment) {\n return html`<div part=\"details\">\n ${this._chatState?.options?.templates?.attachmentHeaderTemplate &&\n this.message\n ? this._chatState.options.templates.attachmentHeaderTemplate(\n this.message\n )\n : html`${attachment.type === 'image' ||\n attachment.file?.type.startsWith('image/')\n ? html`<igc-icon\n name=\"image\"\n collection=\"material\"\n part=\"attachment-icon\"\n ></igc-icon>`\n : html`<igc-icon\n name=\"file\"\n collection=\"material\"\n part=\"attachment-icon\"\n ></igc-icon>`}\n <span part=\"file-name\">${attachment.name}</span> `}\n </div>`;\n }\n\n private renderAttachmentHeaderActions() {\n return html`<div part=\"actions\">\n ${this._chatState?.options?.templates?.attachmentActionsTemplate &&\n this.message\n ? this._chatState.options.templates.attachmentActionsTemplate(\n this.message\n )\n : nothing}\n </div>`;\n }\n\n private renderAttachmentContent(attachment: IgcMessageAttachment) {\n return html`<div part=\"attachment-content\">\n ${this._chatState?.options?.templates?.attachmentContentTemplate &&\n this.message\n ? this._chatState.options.templates.attachmentContentTemplate(\n this.message\n )\n : this.defaulAttachmentContent(attachment)}\n </div>`;\n }\n\n private renderDefaultAttachmentsTemplate() {\n return html`${this.message?.attachments?.map(\n (attachment) =>\n html`<div part=\"attachment\">\n <div\n part=\"attachment-header\"\n role=\"button\"\n @click=${() => this.handleHeaderClick(attachment)}\n >\n ${this.renderAttachmentHeaderText(attachment)}\n ${this.renderAttachmentHeaderActions()}\n </div>\n\n ${attachment.type === 'image' ||\n attachment.file?.type.startsWith('image/') ||\n this._chatState?.options?.templates?.attachmentContentTemplate\n ? this.renderAttachmentContent(attachment)\n : nothing}\n </div>`\n )}`;\n }\n\n protected override render() {\n return html`\n <div part=\"attachments-container\">\n ${this._chatState?.options?.templates?.attachmentTemplate &&\n this.message\n ? this._chatState.options.templates.attachmentTemplate(this.message)\n : this.renderDefaultAttachmentsTemplate()}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-message-attachments': IgcMessageAttachmentsComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"message-attachments.js","sourceRoot":"","sources":["../../../src/components/chat/message-attachments.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,0BAA0B,MAAM,uCAAuC,CAAC;AAC/E,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAClE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EACL,SAAS,EACT,QAAQ,EAER,SAAS,EACT,QAAQ,EACR,WAAW,GACZ,MAAM,YAAY,CAAC;AAqBpB,MAAqB,8BAA+B,SAAQ,UAAU;IAS7D,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CACf,8BAA8B,EAC9B,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IAQD;QACE,KAAK,EAAE,CAAC;QACR,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACrD,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnD,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACrD,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QACzD,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC;IAEkB,MAAM;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC;QAEnD,OAAO,IAAI,CAAA;;UAEL,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,OAAQ,EAAE,EAAE,SAAS,EAAE,CAAC;;KAEjE,CAAC;IACJ,CAAC;;AAxCsB,sCAAO,GAAG,yBAAyB,CAAC;AAEpC,qCAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;eAH9B,8BAA8B;AAMzC;IADP,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;kEACpB;AAgB/B;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;+DACC","sourcesContent":["import { consume } from '@lit/context';\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport IgcIconButtonComponent from '../button/icon-button.js';\nimport { chatContext } from '../common/context.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport IgcExpansionPanelComponent from '../expansion-panel/expansion-panel.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport { registerIconFromText } from '../icon/icon.registry.js';\nimport type { ChatState } from './chat-state.js';\nimport { styles } from './themes/message-attachments.base.css.js';\nimport { styles as shared } from './themes/shared/message-attachments.common.css.js';\nimport {\n closeIcon,\n fileIcon,\n type IgcMessage,\n imageIcon,\n moreIcon,\n previewIcon,\n} from './types.js';\n\n/**\n * A component that renders message attachments within a chat.\n *\n * Displays attachments such as images or files, supporting custom templates\n * and default rendering using expansion panels.\n *\n * @element igc-message-attachments\n *\n * @csspart attachments-container - Container wrapping all attachments.\n * @csspart attachment - Wrapper for a single attachment.\n * @csspart attachment-header - Wrapper for a single attachment header.\n * @csspart attachments-content - Part representing the attachment preview.\n * @csspart attachment-icon - Icon part representing the attachment type.\n * @csspart file-name - Part representing the attachment's file name.\n * @csspart actions - Container for header action buttons.\n * @csspart image-attachment - Part for the image element inside an image attachment.\n *\n * @fires igcAttachmentClick - Fired when an attachment header is toggled (clicked).\n */\nexport default class IgcMessageAttachmentsComponent extends LitElement {\n public static readonly tagName = 'igc-message-attachments';\n\n public static override styles = [styles, shared];\n\n @consume({ context: chatContext, subscribe: true })\n private _chatState?: ChatState;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcMessageAttachmentsComponent,\n IgcIconComponent,\n IgcIconButtonComponent,\n IgcExpansionPanelComponent\n );\n }\n\n /**\n * The array of attachments to render.\n */\n @property({ attribute: false })\n message: IgcMessage | undefined;\n\n constructor() {\n super();\n registerIconFromText('close', closeIcon, 'material');\n registerIconFromText('file', fileIcon, 'material');\n registerIconFromText('image', imageIcon, 'material');\n registerIconFromText('preview', previewIcon, 'material');\n registerIconFromText('more', moreIcon, 'material');\n }\n\n protected override render() {\n const templates = this._chatState?.mergedTemplates;\n\n return html`\n <div part=\"attachments-container\">\n ${templates?.attachmentsTemplate(this.message!, { templates })}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-message-attachments': IgcMessageAttachmentsComponent;\n }\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import type { ChatMessageRenderer, IgcMessage } from './types.js';
2
+ /**
3
+ * A simple renderer that outputs plain text messages without any formatting or parsing.
4
+ * The message content is wrapped in a <pre> tag to preserve whitespace and formatting.
5
+ *
6
+ * @implements {ChatMessageRenderer}
7
+ */
8
+ export declare class PlainTextRenderer implements ChatMessageRenderer {
9
+ /**
10
+ * Renders the given message as plain text.
11
+ * @param {IgcMessage} message - The chat message to render.
12
+ * @returns {TemplateResult} A lit-html template containing the plain text wrapped in a <pre> element.
13
+ */
14
+ render(message: IgcMessage): unknown;
15
+ }
@@ -0,0 +1,7 @@
1
+ import { html } from 'lit';
2
+ export class PlainTextRenderer {
3
+ render(message) {
4
+ return html `<pre part="plain-text">${message.text}</pre>`;
5
+ }
6
+ }
7
+ //# sourceMappingURL=plain-text-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plain-text-renderer.js","sourceRoot":"","sources":["../../../src/components/chat/plain-text-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAS3B,MAAM,OAAO,iBAAiB;IAM5B,MAAM,CAAC,OAAmB;QACxB,OAAO,IAAI,CAAA,0BAA0B,OAAO,CAAC,IAAI,QAAQ,CAAC;IAC5D,CAAC;CACF","sourcesContent":["import { html } from 'lit';\nimport type { ChatMessageRenderer, IgcMessage } from './types.js';\n\n/**\n * A simple renderer that outputs plain text messages without any formatting or parsing.\n * The message content is wrapped in a <pre> tag to preserve whitespace and formatting.\n *\n * @implements {ChatMessageRenderer}\n */\nexport class PlainTextRenderer implements ChatMessageRenderer {\n /**\n * Renders the given message as plain text.\n * @param {IgcMessage} message - The chat message to render.\n * @returns {TemplateResult} A lit-html template containing the plain text wrapped in a <pre> element.\n */\n render(message: IgcMessage): unknown {\n return html`<pre part=\"plain-text\">${message.text}</pre>`;\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{width:100%;height:600px;overflow:hidden;box-shadow:var(--ig-elevation-4);display:flex;flex-direction:column}[part=chat-container]{display:flex;flex-direction:column;align-items:center;height:100%;gap:2.5rem}igc-chat-message-list,[part=empty-state],[part=suggestions-container]{max-width:47.5rem;width:100%}[part=suggestions-header]{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);margin:0}[part=empty-state]{height:100%}[part=header]{display:flex;align-items:center;justify-content:space-between;padding:1rem .8125rem;gap:1rem;box-shadow:var(--ig-elevation-4);width:100%}[part=title]{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom);margin:0}[part=suggestions-container]{display:flex;flex-direction:column;gap:.75rem}[part=suggestions-container] igc-chip{--ig-size: 3;width:-moz-fit-content;width:fit-content}`;
2
+ export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{--igc-chat-height: 100%;width:100%;height:var(--igc-chat-height);overflow:hidden;display:flex;flex-direction:column}[part=chat-container]{display:flex;flex-direction:column;align-items:center;height:100%}[part=chat-wrapper]{display:flex;flex-direction:column;overflow:hidden auto;width:100%;flex:1;align-items:center}[part=empty-state],[part=suggestions-container]{max-width:49.5rem;width:100%;padding-inline:1rem}[part=empty-state]{height:100%}[part=header]{display:flex;align-items:center;min-height:3.5rem;padding-inline:1rem;box-shadow:var(--ig-elevation-4);width:100%;z-index:1}[part=title]{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom);margin:0}[part=actions]{display:flex;margin-inline-start:auto;gap:1rem}[part=prefix]{display:block;margin-inline-end:2rem}igc-list{--ig-size: 3;padding-block-end:1.5rem;min-height:-moz-fit-content;min-height:fit-content;width:-moz-fit-content;width:fit-content;max-width:36rem}igc-list-item{cursor:pointer}igc-list-item::part(title){display:-webkit-inline-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}`;
3
3
  //# sourceMappingURL=chat.base.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.base.css.js","sourceRoot":"","sources":["../../../../src/components/chat/themes/chat.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,w7EAAw7E,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{width:100%;height:600px;overflow:hidden;box-shadow:var(--ig-elevation-4);display:flex;flex-direction:column}[part=chat-container]{display:flex;flex-direction:column;align-items:center;height:100%;gap:2.5rem}igc-chat-message-list,[part=empty-state],[part=suggestions-container]{max-width:47.5rem;width:100%}[part=suggestions-header]{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom);margin:0}[part=empty-state]{height:100%}[part=header]{display:flex;align-items:center;justify-content:space-between;padding:1rem .8125rem;gap:1rem;box-shadow:var(--ig-elevation-4);width:100%}[part=title]{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom);margin:0}[part=suggestions-container]{display:flex;flex-direction:column;gap:.75rem}[part=suggestions-container] igc-chip{--ig-size: 3;width:-moz-fit-content;width:fit-content}`;\n"]}
1
+ {"version":3,"file":"chat.base.css.js","sourceRoot":"","sources":["../../../../src/components/chat/themes/chat.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,yzEAAyzE,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{--igc-chat-height: 100%;width:100%;height:var(--igc-chat-height);overflow:hidden;display:flex;flex-direction:column}[part=chat-container]{display:flex;flex-direction:column;align-items:center;height:100%}[part=chat-wrapper]{display:flex;flex-direction:column;overflow:hidden auto;width:100%;flex:1;align-items:center}[part=empty-state],[part=suggestions-container]{max-width:49.5rem;width:100%;padding-inline:1rem}[part=empty-state]{height:100%}[part=header]{display:flex;align-items:center;min-height:3.5rem;padding-inline:1rem;box-shadow:var(--ig-elevation-4);width:100%;z-index:1}[part=title]{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom);margin:0}[part=actions]{display:flex;margin-inline-start:auto;gap:1rem}[part=prefix]{display:block;margin-inline-end:2rem}igc-list{--ig-size: 3;padding-block-end:1.5rem;min-height:-moz-fit-content;min-height:fit-content;width:-moz-fit-content;width:fit-content;max-width:36rem}igc-list-item{cursor:pointer}igc-list-item::part(title){display:-webkit-inline-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--ig-theme: bootstrap}`;
2
+ export const styles = css `:host{--background: var(--ig-chat-background, var(--ig-gray-900-contrast));--header-border: var(--ig-chat-header-border, var(--ig-gray-300));--ig-theme: bootstrap}`;
3
3
  //# sourceMappingURL=chat.bootstrap.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/dark/chat.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,8BAA8B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--ig-theme: bootstrap}`;\n"]}
1
+ {"version":3,"file":"chat.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/dark/chat.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,qKAAqK,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--background: var(--ig-chat-background, var(--ig-gray-900-contrast));--header-border: var(--ig-chat-header-border, var(--ig-gray-300));--ig-theme: bootstrap}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--ig-theme: fluent}`;
2
+ export const styles = css `:host{--background: var(--ig-chat-background, var(--ig-gray-900-contrast));--header-color: var(--ig-chat-header-color, var(--ig-gray-900));--message-actions-color: var(--ig-chat-message-actions-color, var(--ig-primary-500));--ig-theme: fluent}`;
3
3
  //# sourceMappingURL=chat.fluent.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/dark/chat.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,2BAA2B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--ig-theme: fluent}`;\n"]}
1
+ {"version":3,"file":"chat.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/dark/chat.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,qPAAqP,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--background: var(--ig-chat-background, var(--ig-gray-900-contrast));--header-color: var(--ig-chat-header-color, var(--ig-gray-900));--message-actions-color: var(--ig-chat-message-actions-color, var(--ig-primary-500));--ig-theme: fluent}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--header-color: var(--ig-chat-header-color, var(--ig-gray-800));--header-border: var(--ig-chat-header-border, var(--ig-primary-500));--message-focus-color: var(--ig-chat-message-focus-color, var(--ig-primary-400));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-info-500));--ig-theme: indigo}`;
2
+ export const styles = css `:host{--header-color: var(--ig-chat-header-color, var(--ig-gray-800));--header-border: var(--ig-chat-header-border, var(--ig-primary-500));--message-actions-color: var(--ig-chat-message-actions-color, var(--ig-gray-600));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-info-500));--ig-theme: indigo}`;
3
3
  //# sourceMappingURL=chat.indigo.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/dark/chat.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,yUAAyU,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--header-color: var(--ig-chat-header-color, var(--ig-gray-800));--header-border: var(--ig-chat-header-border, var(--ig-primary-500));--message-focus-color: var(--ig-chat-message-focus-color, var(--ig-primary-400));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-info-500));--ig-theme: indigo}`;\n"]}
1
+ {"version":3,"file":"chat.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/dark/chat.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,0UAA0U,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--header-color: var(--ig-chat-header-color, var(--ig-gray-800));--header-border: var(--ig-chat-header-border, var(--ig-primary-500));--message-actions-color: var(--ig-chat-message-actions-color, var(--ig-gray-600));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-info-500));--ig-theme: indigo}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:flex;align-items:center;width:100%;padding-block:1rem;justify-content:center}[part~=input-container]{display:flex;flex-direction:column;max-width:47.5rem;width:100%;margin-inline:1rem;gap:.5rem}[part=buttons-container]{display:flex;align-items:center}[part=send-button]{margin-inline-start:auto}[part=attachments]{display:flex;gap:.5rem}igc-textarea::part(input){max-height:13.5rem;overflow-y:auto}igc-file-input{width:-moz-fit-content;width:fit-content;margin-inline-end:auto}igc-file-input::part(file-names),igc-file-input::part(start),igc-file-input::part(end){display:none}igc-file-input::part(container){background:rgba(0,0,0,0);border:none}igc-file-input::part(container)::after{display:none}`;
2
+ export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:flex;align-items:center;width:100%;padding-block:1rem;justify-content:center}[part~=input-container]{display:flex;flex-direction:column;max-width:47.5rem;width:100%;margin-inline:1rem;border-radius:.25rem;padding:1rem;gap:.75rem}[part=buttons-container]{display:flex;align-items:center}[part=send-button]{margin-inline-start:auto}[part=upload-button]{position:relative;display:inline-block}[part=upload-button] input{position:absolute;width:0;aspect-ratio:1;inset:0;opacity:0}[part=attachments]{display:flex;flex-wrap:wrap;gap:.5rem}[part=attachment-wrapper]{min-width:5.625rem;max-width:-moz-fit-content;max-width:fit-content;flex:1 1}[part=attachment-wrapper] igc-chip{--ig-size: 2}igc-textarea::part(input){max-height:13.5rem;overflow-y:auto}igc-icon-button{--ig-size: 2}`;
3
3
  //# sourceMappingURL=input.base.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.base.css.js","sourceRoot":"","sources":["../../../../src/components/chat/themes/input.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,kpDAAkpD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:flex;align-items:center;width:100%;padding-block:1rem;justify-content:center}[part~=input-container]{display:flex;flex-direction:column;max-width:47.5rem;width:100%;margin-inline:1rem;gap:.5rem}[part=buttons-container]{display:flex;align-items:center}[part=send-button]{margin-inline-start:auto}[part=attachments]{display:flex;gap:.5rem}igc-textarea::part(input){max-height:13.5rem;overflow-y:auto}igc-file-input{width:-moz-fit-content;width:fit-content;margin-inline-end:auto}igc-file-input::part(file-names),igc-file-input::part(start),igc-file-input::part(end){display:none}igc-file-input::part(container){background:rgba(0,0,0,0);border:none}igc-file-input::part(container)::after{display:none}`;\n"]}
1
+ {"version":3,"file":"input.base.css.js","sourceRoot":"","sources":["../../../../src/components/chat/themes/input.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,8tDAA8tD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:flex;align-items:center;width:100%;padding-block:1rem;justify-content:center}[part~=input-container]{display:flex;flex-direction:column;max-width:47.5rem;width:100%;margin-inline:1rem;border-radius:.25rem;padding:1rem;gap:.75rem}[part=buttons-container]{display:flex;align-items:center}[part=send-button]{margin-inline-start:auto}[part=upload-button]{position:relative;display:inline-block}[part=upload-button] input{position:absolute;width:0;aspect-ratio:1;inset:0;opacity:0}[part=attachments]{display:flex;flex-wrap:wrap;gap:.5rem}[part=attachment-wrapper]{min-width:5.625rem;max-width:-moz-fit-content;max-width:fit-content;flex:1 1}[part=attachment-wrapper] igc-chip{--ig-size: 2}igc-textarea::part(input){max-height:13.5rem;overflow-y:auto}igc-icon-button{--ig-size: 2}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--focused-border-color: var(--ig-chat-focused-border-color, var(--ig-primary-500));--focused-secondary-color: var(--ig-chat-focused-secondary-color, hsl(from var(--ig-primary-500) h s l/0.38));--ig-theme: bootstrap}`;
2
+ export const styles = css `:host{--background: var(--ig-chat-background, var(--ig-gray-900-contrast));--header-border: var(--ig-chat-header-border, var(--ig-gray-300));--focused-border-color: var(--ig-chat-focused-border-color, var(--ig-primary-500));--focused-secondary-color: var(--ig-chat-focused-secondary-color, hsl(from var(--ig-primary-500) h s l/0.38));--ig-theme: bootstrap}`;
3
3
  //# sourceMappingURL=chat.bootstrap.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/light/chat.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,+NAA+N,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--focused-border-color: var(--ig-chat-focused-border-color, var(--ig-primary-500));--focused-secondary-color: var(--ig-chat-focused-secondary-color, hsl(from var(--ig-primary-500) h s l/0.38));--ig-theme: bootstrap}`;\n"]}
1
+ {"version":3,"file":"chat.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/light/chat.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,sWAAsW,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--background: var(--ig-chat-background, var(--ig-gray-900-contrast));--header-border: var(--ig-chat-header-border, var(--ig-gray-300));--focused-border-color: var(--ig-chat-focused-border-color, var(--ig-primary-500));--focused-secondary-color: var(--ig-chat-focused-secondary-color, hsl(from var(--ig-primary-500) h s l/0.38));--ig-theme: bootstrap}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--focused-border-color: var(--ig-chat-focused-border-color, var(--ig-primary-500));--ig-theme: fluent}`;
2
+ export const styles = css `:host{--background: var(--ig-chat-background, var(--ig-gray-900-contrast));--header-color: var(--ig-chat-header-color, var(--ig-gray-900));--message-actions-color: var(--ig-chat-message-actions-color, var(--ig-primary-500));--focused-border-color: var(--ig-chat-focused-border-color, var(--ig-primary-500));--ig-theme: fluent}`;
3
3
  //# sourceMappingURL=chat.fluent.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/light/chat.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,8GAA8G,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--focused-border-color: var(--ig-chat-focused-border-color, var(--ig-primary-500));--ig-theme: fluent}`;\n"]}
1
+ {"version":3,"file":"chat.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/light/chat.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,wUAAwU,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--background: var(--ig-chat-background, var(--ig-gray-900-contrast));--header-color: var(--ig-chat-header-color, var(--ig-gray-900));--message-actions-color: var(--ig-chat-message-actions-color, var(--ig-primary-500));--focused-border-color: var(--ig-chat-focused-border-color, var(--ig-primary-500));--ig-theme: fluent}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--header-color: var(--ig-chat-header-color, var(--ig-gray-800));--header-border: var(--ig-chat-header-border, var(--ig-primary-500));--message-focus-color: var(--ig-chat-message-focus-color, var(--ig-primary-400));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-info-500));--box-background-hover: var(--ig-chat-box-background-hover, hsl(from var(--ig-gray-900) h s l/0.05));--focused-bottom-line-color: var(--ig-chat-focused-bottom-line-color, var(--ig-primary-400));--focused-text-color: var(--ig-chat-focused-text-color, var(--ig-gray-900));--ig-theme: indigo}`;
2
+ export const styles = css `:host{--header-color: var(--ig-chat-header-color, var(--ig-gray-800));--header-border: var(--ig-chat-header-border, var(--ig-primary-500));--message-actions-color: var(--ig-chat-message-actions-color, var(--ig-gray-600));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-info-500));--box-background-hover: var(--ig-chat-box-background-hover, hsl(from var(--ig-gray-900) h s l/0.05));--focused-bottom-line-color: var(--ig-chat-focused-bottom-line-color, var(--ig-primary-400));--focused-text-color: var(--ig-chat-focused-text-color, var(--ig-gray-900));--ig-theme: indigo}`;
3
3
  //# sourceMappingURL=chat.indigo.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/light/chat.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,ulBAAulB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--header-color: var(--ig-chat-header-color, var(--ig-gray-800));--header-border: var(--ig-chat-header-border, var(--ig-primary-500));--message-focus-color: var(--ig-chat-message-focus-color, var(--ig-primary-400));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-info-500));--box-background-hover: var(--ig-chat-box-background-hover, hsl(from var(--ig-gray-900) h s l/0.05));--focused-bottom-line-color: var(--ig-chat-focused-bottom-line-color, var(--ig-primary-400));--focused-text-color: var(--ig-chat-focused-text-color, var(--ig-gray-900));--ig-theme: indigo}`;\n"]}
1
+ {"version":3,"file":"chat.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/light/chat.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,wlBAAwlB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--header-color: var(--ig-chat-header-color, var(--ig-gray-800));--header-border: var(--ig-chat-header-border, var(--ig-primary-500));--message-actions-color: var(--ig-chat-message-actions-color, var(--ig-gray-600));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-info-500));--box-background-hover: var(--ig-chat-box-background-hover, hsl(from var(--ig-gray-900) h s l/0.05));--focused-bottom-line-color: var(--ig-chat-focused-bottom-line-color, var(--ig-primary-400));--focused-text-color: var(--ig-chat-focused-text-color, var(--ig-gray-900));--ig-theme: indigo}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--background: var(--ig-chat-background, var(--ig-surface-500));--header-background: var(--ig-chat-header-background, var(--ig-surface-500));--header-color: var(--ig-chat-header-color, var(--ig-surface-500-contrast));--header-border: var(--ig-chat-header-border, var(--ig-transparent-500));--message-background: var(--ig-chat-message-background, var(--ig-gray-200));--message-focus-color: var(--ig-chat-message-focus-color, var(--ig-gray-300));--message-color: var(--ig-chat-message-color, var(--ig-gray-800));--image-background: var(--ig-chat-image-background, var(--ig-gray-100));--image-border: var(--ig-chat-image-border, var(--ig-gray-300));--chat-input-border: var(--ig-chat-chat-input-border, var(--ig-gray-300));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-secondary-500))}`;
2
+ export const styles = css `:host{--background: var(--ig-chat-background, var(--ig-surface-500));--header-background: var(--ig-chat-header-background, var(--ig-surface-500));--header-color: var(--ig-chat-header-color, var(--ig-surface-500-contrast));--header-border: var(--ig-chat-header-border, var(--ig-transparent-500));--message-background: var(--ig-chat-message-background, var(--ig-gray-200));--message-color: var(--ig-chat-message-color, var(--ig-gray-800));--message-actions-color: var(--ig-chat-message-actions-color, var(--ig-gray-700));--image-background: var(--ig-chat-image-background, var(--ig-gray-100));--image-border: var(--ig-chat-image-border, var(--ig-gray-300));--chat-input-border: var(--ig-chat-chat-input-border, var(--ig-gray-400));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-secondary-500))}`;
3
3
  //# sourceMappingURL=chat.shared.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.shared.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/light/chat.shared.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,ozBAAozB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--background: var(--ig-chat-background, var(--ig-surface-500));--header-background: var(--ig-chat-header-background, var(--ig-surface-500));--header-color: var(--ig-chat-header-color, var(--ig-surface-500-contrast));--header-border: var(--ig-chat-header-border, var(--ig-transparent-500));--message-background: var(--ig-chat-message-background, var(--ig-gray-200));--message-focus-color: var(--ig-chat-message-focus-color, var(--ig-gray-300));--message-color: var(--ig-chat-message-color, var(--ig-gray-800));--image-background: var(--ig-chat-image-background, var(--ig-gray-100));--image-border: var(--ig-chat-image-border, var(--ig-gray-300));--chat-input-border: var(--ig-chat-chat-input-border, var(--ig-gray-300));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-secondary-500))}`;\n"]}
1
+ {"version":3,"file":"chat.shared.css.js","sourceRoot":"","sources":["../../../../../src/components/chat/themes/light/chat.shared.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,wzBAAwzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--background: var(--ig-chat-background, var(--ig-surface-500));--header-background: var(--ig-chat-header-background, var(--ig-surface-500));--header-color: var(--ig-chat-header-color, var(--ig-surface-500-contrast));--header-border: var(--ig-chat-header-border, var(--ig-transparent-500));--message-background: var(--ig-chat-message-background, var(--ig-gray-200));--message-color: var(--ig-chat-message-color, var(--ig-gray-800));--message-actions-color: var(--ig-chat-message-actions-color, var(--ig-gray-700));--image-background: var(--ig-chat-image-background, var(--ig-gray-100));--image-border: var(--ig-chat-image-border, var(--ig-gray-300));--chat-input-border: var(--ig-chat-chat-input-border, var(--ig-gray-400));--progress-indicator-color: var(--ig-chat-progress-indicator-color, var(--ig-secondary-500))}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:block}[part=attachments-container]{display:flex;flex-wrap:wrap;gap:1rem}[part=attachment]{flex:1 1;border-radius:.25rem;overflow:hidden;min-width:5rem;max-width:25rem}[part=attachment-header]{padding:.5rem .75rem .5rem 1rem;border-top-left-radius:inherit;border-top-right-radius:inherit}[part=attachment-content]{display:flex;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;max-height:15rem;overflow:hidden}[part=image-attachment]{width:100%;height:100%;border-radius:inherit;-o-object-fit:cover;object-fit:cover}[part=details]{display:flex;align-items:center;gap:.5rem}[part=file-name]{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}`;
2
+ export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:block}[part=attachments-container]{display:flex;flex-wrap:wrap;gap:1rem}[part=attachment]{flex:1 1;border-radius:.25rem;overflow:hidden;min-width:5rem;max-width:25rem}[part="attachment sent"]{border-radius:.125rem;max-width:5rem}[part~=attachment-header]{padding:.5rem .75rem .5rem 1rem;border-top-left-radius:inherit;border-top-right-radius:inherit}[part="attachment-header sent"]{padding:.375rem 0 0}[part~=attachment-content]{display:flex;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;max-height:15rem;overflow:hidden}[part="attachment-content sent"]{border-top-left-radius:inherit;border-top-right-radius:inherit;width:4.875rem;aspect-ratio:1}[part=image-attachment]{width:100%;height:100%;border-radius:inherit;-o-object-fit:cover;object-fit:cover}[part=file-attachment]{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}[part=details]{display:flex;align-items:center;gap:.5rem}[part=file-name]{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}`;
3
3
  //# sourceMappingURL=message-attachments.base.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-attachments.base.css.js","sourceRoot":"","sources":["../../../../src/components/chat/themes/message-attachments.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,2gEAA2gE,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:block}[part=attachments-container]{display:flex;flex-wrap:wrap;gap:1rem}[part=attachment]{flex:1 1;border-radius:.25rem;overflow:hidden;min-width:5rem;max-width:25rem}[part=attachment-header]{padding:.5rem .75rem .5rem 1rem;border-top-left-radius:inherit;border-top-right-radius:inherit}[part=attachment-content]{display:flex;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;max-height:15rem;overflow:hidden}[part=image-attachment]{width:100%;height:100%;border-radius:inherit;-o-object-fit:cover;object-fit:cover}[part=details]{display:flex;align-items:center;gap:.5rem}[part=file-name]{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}`;\n"]}
1
+ {"version":3,"file":"message-attachments.base.css.js","sourceRoot":"","sources":["../../../../src/components/chat/themes/message-attachments.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,81EAA81E,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:block}[part=attachments-container]{display:flex;flex-wrap:wrap;gap:1rem}[part=attachment]{flex:1 1;border-radius:.25rem;overflow:hidden;min-width:5rem;max-width:25rem}[part=\"attachment sent\"]{border-radius:.125rem;max-width:5rem}[part~=attachment-header]{padding:.5rem .75rem .5rem 1rem;border-top-left-radius:inherit;border-top-right-radius:inherit}[part=\"attachment-header sent\"]{padding:.375rem 0 0}[part~=attachment-content]{display:flex;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;max-height:15rem;overflow:hidden}[part=\"attachment-content sent\"]{border-top-left-radius:inherit;border-top-right-radius:inherit;width:4.875rem;aspect-ratio:1}[part=image-attachment]{width:100%;height:100%;border-radius:inherit;-o-object-fit:cover;object-fit:cover}[part=file-attachment]{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}[part=details]{display:flex;align-items:center;gap:.5rem}[part=file-name]{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:block;overflow-y:auto;flex:1;scrollbar-width:none;padding-block-start:1rem}:host(::-webkit-scrollbar){display:none}[part=message-list]{display:flex;flex-direction:column;gap:1.5rem}[part=typing-indicator]{position:relative}[part=typing-dot]{content:"";animation:blink 1.5s infinite;animation-fill-mode:both;height:.5rem;width:.5rem;position:absolute;inset:0;border-radius:50%}[part=typing-dot]:nth-child(2){animation-delay:.2s;margin-left:.75rem}[part=typing-dot]:nth-child(3){animation-delay:.4s;margin-left:1.5rem}@keyframes blink{0%{opacity:.1}20%{opacity:1}100%{opacity:.1}}`;
2
+ export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:block;width:100%;max-width:49.5rem;padding-inline:1rem;padding-block:1rem 1.5rem}[part=message-list]{display:flex;flex-direction:column;gap:1.5rem;width:100%}[part=typing-indicator]{display:flex;align-items:center;gap:.125rem}[part=typing-dot]{display:flex;align-items:center;justify-content:center;width:.5rem;aspect-ratio:1}[part=typing-dot]::after{content:"";display:block;animation:blink 1.2s ease-in-out infinite;animation-fill-mode:both;width:.375rem;aspect-ratio:1;border-radius:50%}[part=typing-dot]:nth-child(2)::after{animation-delay:.2s;width:.25rem}[part=typing-dot]:nth-child(3)::after{animation-delay:.4s}[part=typing-dot]:nth-child(4)::after{animation-delay:.6s;width:.125rem}@keyframes blink{0%,100%{transform:scale(0.9)}25%,75%{transform:scale(1.05)}50%{transform:scale(1.1)}}`;
3
3
  //# sourceMappingURL=message-list.base.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-list.base.css.js","sourceRoot":"","sources":["../../../../src/components/chat/themes/message-list.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,0hDAA0hD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:block;overflow-y:auto;flex:1;scrollbar-width:none;padding-block-start:1rem}:host(::-webkit-scrollbar){display:none}[part=message-list]{display:flex;flex-direction:column;gap:1.5rem}[part=typing-indicator]{position:relative}[part=typing-dot]{content:\"\";animation:blink 1.5s infinite;animation-fill-mode:both;height:.5rem;width:.5rem;position:absolute;inset:0;border-radius:50%}[part=typing-dot]:nth-child(2){animation-delay:.2s;margin-left:.75rem}[part=typing-dot]:nth-child(3){animation-delay:.4s;margin-left:1.5rem}@keyframes blink{0%{opacity:.1}20%{opacity:1}100%{opacity:.1}}`;\n"]}
1
+ {"version":3,"file":"message-list.base.css.js","sourceRoot":"","sources":["../../../../src/components/chat/themes/message-list.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,ivDAAivD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:block;width:100%;max-width:49.5rem;padding-inline:1rem;padding-block:1rem 1.5rem}[part=message-list]{display:flex;flex-direction:column;gap:1.5rem;width:100%}[part=typing-indicator]{display:flex;align-items:center;gap:.125rem}[part=typing-dot]{display:flex;align-items:center;justify-content:center;width:.5rem;aspect-ratio:1}[part=typing-dot]::after{content:\"\";display:block;animation:blink 1.2s ease-in-out infinite;animation-fill-mode:both;width:.375rem;aspect-ratio:1;border-radius:50%}[part=typing-dot]:nth-child(2)::after{animation-delay:.2s;width:.25rem}[part=typing-dot]:nth-child(3)::after{animation-delay:.4s}[part=typing-dot]:nth-child(4)::after{animation-delay:.6s;width:.125rem}@keyframes blink{0%,100%{transform:scale(0.9)}25%,75%{transform:scale(1.05)}50%{transform:scale(1.1)}}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}[part~=message-container]{display:flex;justify-content:flex-start;align-items:flex-end;margin-inline-end:auto;max-width:36rem}[part~=sent]{margin-inline-start:auto;margin-inline-end:unset;padding:.75rem 1rem;border-radius:1.5rem 1.5rem 0}[part~=bubble]{display:flex;flex-direction:column;gap:1rem;width:100%;font-family:var(--ig-body-1-font-family, var(--ig-font-family));font-size:var(--ig-body-1-font-size);font-weight:var(--ig-body-1-font-weight);font-style:var(--ig-body-1-font-style);line-height:var(--ig-body-1-line-height);letter-spacing:var(--ig-body-1-letter-spacing);text-transform:var(--ig-body-1-text-transform);margin-top:var(--ig-body-1-margin-top);margin-bottom:var(--ig-body-1-margin-bottom);margin:0}[part~=bubble] p{margin:0;padding:0}`;
2
+ export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}[part~=message-container]{font-family:var(--ig-body-1-font-family, var(--ig-font-family));font-size:var(--ig-body-1-font-size);font-weight:var(--ig-body-1-font-weight);font-style:var(--ig-body-1-font-style);line-height:var(--ig-body-1-line-height);letter-spacing:var(--ig-body-1-letter-spacing);text-transform:var(--ig-body-1-text-transform);margin-top:var(--ig-body-1-margin-top);margin-bottom:var(--ig-body-1-margin-bottom);margin:0;display:flex;margin-inline-end:auto;flex-direction:column;gap:1rem}[part~=message-container] p{margin:0;padding:0}[part~=message-container] a{overflow-wrap:anywhere;color:var(--ig-primary-500)}[part~=message-container] pre,[part~=message-container] code{white-space:pre-wrap;word-wrap:break-word;overflow-x:auto}[part~=sent]{margin-inline-start:auto;margin-inline-end:unset;padding:.75rem 1rem;border-radius:1.5rem 1.5rem 0;max-width:36rem;width:-moz-fit-content;width:fit-content}`;
3
3
  //# sourceMappingURL=message.base.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.base.css.js","sourceRoot":"","sources":["../../../../src/components/chat/themes/message.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,2rDAA2rD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}[part~=message-container]{display:flex;justify-content:flex-start;align-items:flex-end;margin-inline-end:auto;max-width:36rem}[part~=sent]{margin-inline-start:auto;margin-inline-end:unset;padding:.75rem 1rem;border-radius:1.5rem 1.5rem 0}[part~=bubble]{display:flex;flex-direction:column;gap:1rem;width:100%;font-family:var(--ig-body-1-font-family, var(--ig-font-family));font-size:var(--ig-body-1-font-size);font-weight:var(--ig-body-1-font-weight);font-style:var(--ig-body-1-font-style);line-height:var(--ig-body-1-line-height);letter-spacing:var(--ig-body-1-letter-spacing);text-transform:var(--ig-body-1-text-transform);margin-top:var(--ig-body-1-margin-top);margin-bottom:var(--ig-body-1-margin-bottom);margin:0}[part~=bubble] p{margin:0;padding:0}`;\n"]}
1
+ {"version":3,"file":"message.base.css.js","sourceRoot":"","sources":["../../../../src/components/chat/themes/message.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,81DAA81D,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}[part~=message-container]{font-family:var(--ig-body-1-font-family, var(--ig-font-family));font-size:var(--ig-body-1-font-size);font-weight:var(--ig-body-1-font-weight);font-style:var(--ig-body-1-font-style);line-height:var(--ig-body-1-line-height);letter-spacing:var(--ig-body-1-letter-spacing);text-transform:var(--ig-body-1-text-transform);margin-top:var(--ig-body-1-margin-top);margin-bottom:var(--ig-body-1-margin-bottom);margin:0;display:flex;margin-inline-end:auto;flex-direction:column;gap:1rem}[part~=message-container] p{margin:0;padding:0}[part~=message-container] a{overflow-wrap:anywhere;color:var(--ig-primary-500)}[part~=message-container] pre,[part~=message-container] code{white-space:pre-wrap;word-wrap:break-word;overflow-x:auto}[part~=sent]{margin-inline-start:auto;margin-inline-end:unset;padding:.75rem 1rem;border-radius:1.5rem 1.5rem 0;max-width:36rem;width:-moz-fit-content;width:fit-content}`;\n"]}