@limetech/lime-crm-building-blocks 1.86.2 → 1.87.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/{highlight-item.handler-99d5a0b6.js → highlight-item.handler-584ab58a.js} +2 -2
  3. package/dist/cjs/{index-3da101cc.js → index-ff255a0d.js} +3 -28
  4. package/dist/cjs/{index.esm-d6513e37.js → index.esm-9effb196.js} +1 -1
  5. package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
  6. package/dist/cjs/limebb-browser.cjs.entry.js +2 -2
  7. package/dist/cjs/limebb-chat-item_2.cjs.entry.js +8 -3
  8. package/dist/cjs/limebb-chat-list.cjs.entry.js +34 -16
  9. package/dist/cjs/limebb-component-config.cjs.entry.js +5 -3
  10. package/dist/cjs/limebb-component-picker.cjs.entry.js +2 -2
  11. package/dist/cjs/limebb-currency-picker.cjs.entry.js +3 -3
  12. package/dist/cjs/limebb-dashboard-widget.cjs.entry.js +1 -1
  13. package/dist/cjs/limebb-date-picker.cjs.entry.js +5 -5
  14. package/dist/cjs/limebb-date-range.cjs.entry.js +1 -1
  15. package/dist/cjs/limebb-empty-state.cjs.entry.js +1 -1
  16. package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +4 -5
  17. package/dist/cjs/limebb-feed.cjs.entry.js +4 -4
  18. package/dist/cjs/limebb-icon-picker.cjs.entry.js +10 -6
  19. package/dist/cjs/limebb-info-tile-currency-format.cjs.entry.js +1 -1
  20. package/dist/cjs/limebb-info-tile-date-format.cjs.entry.js +2 -2
  21. package/dist/cjs/limebb-info-tile-decimal-format.cjs.entry.js +1 -1
  22. package/dist/cjs/limebb-info-tile-format.cjs.entry.js +2 -1
  23. package/dist/cjs/limebb-info-tile-relative-date-format.cjs.entry.js +1 -1
  24. package/dist/cjs/limebb-info-tile-unit-format.cjs.entry.js +2 -2
  25. package/dist/cjs/limebb-info-tile.cjs.entry.js +21 -22
  26. package/dist/cjs/limebb-kanban-group.cjs.entry.js +3 -3
  27. package/dist/cjs/limebb-kanban-item.cjs.entry.js +3 -3
  28. package/dist/cjs/limebb-kanban.cjs.entry.js +1 -1
  29. package/dist/cjs/limebb-limeobject-file-viewer.cjs.entry.js +4 -4
  30. package/dist/cjs/limebb-loader.cjs.entry.js +3 -3
  31. package/dist/cjs/limebb-locale-picker.cjs.entry.js +14 -6
  32. package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +1 -1
  33. package/dist/cjs/limebb-mention.cjs.entry.js +5 -6
  34. package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +5 -5
  35. package/dist/cjs/limebb-notification-item.cjs.entry.js +2 -2
  36. package/dist/cjs/limebb-notification-list.cjs.entry.js +31 -14
  37. package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +7 -8
  38. package/dist/cjs/limebb-text-editor-picker.cjs.entry.js +1 -1
  39. package/dist/cjs/limebb-text-editor.cjs.entry.js +42 -39
  40. package/dist/cjs/limebb-trend-indicator.cjs.entry.js +8 -8
  41. package/dist/cjs/loader.cjs.js +1 -1
  42. package/dist/cjs/{non-null-b8d9b4b4.js → non-null-3bf14aa1.js} +5 -0
  43. package/dist/cjs/{percentage-class-9decca4f.js → percentage-class-e4f0a52d.js} +2 -2
  44. package/dist/collection/components/chat-list/chat-item/chat-item.css +4 -0
  45. package/dist/collection/components/chat-list/chat-item/chat-item.js +5 -0
  46. package/dist/collection/components/chat-list/chat-list.js +11 -7
  47. package/dist/collection/components/chat-list/{processChatItems.js → process-chat-items.js} +22 -8
  48. package/dist/collection/components/component-command-picker/component-config/component-config.js +3 -1
  49. package/dist/collection/components/date-picker/to-server-date.js +3 -3
  50. package/dist/collection/components/feed/feed-item/feed-timeline-item.css +4 -4
  51. package/dist/collection/components/feed/feed-item/feed-timeline-item.js +1 -2
  52. package/dist/collection/components/feed/feed.js +1 -1
  53. package/dist/collection/components/feed/highlight-item/highlight-item.handler.js +2 -2
  54. package/dist/collection/components/icon-picker/search.js +9 -0
  55. package/dist/collection/components/info-tile/format/config/info-tile-date-format.js +1 -1
  56. package/dist/collection/components/info-tile/format/config/info-tile-format.js +1 -0
  57. package/dist/collection/components/info-tile/format/config/info-tile-unit-format.js +1 -1
  58. package/dist/collection/components/info-tile/format/date-time.js +12 -11
  59. package/dist/collection/components/info-tile/format/number.js +3 -3
  60. package/dist/collection/components/info-tile/format/relative-date-time.js +2 -4
  61. package/dist/collection/components/info-tile/info-tile.js +2 -2
  62. package/dist/collection/components/kanban/kanban-group/kanban-group.css +4 -4
  63. package/dist/collection/components/kanban/kanban-item/kanban-item.css +4 -4
  64. package/dist/collection/components/limeobject/file-viewer/file-viewer.js +2 -2
  65. package/dist/collection/components/locale-picker/language.js +10 -1
  66. package/dist/collection/components/locale-picker/locale-picker.js +2 -3
  67. package/dist/collection/components/mention/mention.js +0 -1
  68. package/dist/collection/components/navigation-button/navigation-button.css +4 -3
  69. package/dist/collection/components/notification-list/notification-list.css +2 -2
  70. package/dist/collection/components/notification-list/notification-list.js +7 -4
  71. package/dist/collection/components/notification-list/{processNotificationItems.js → process-notification-items.js} +22 -8
  72. package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +5 -6
  73. package/dist/collection/components/summary-popover/summary-popover.js +3 -3
  74. package/dist/collection/components/text-editor/mentions.js +6 -8
  75. package/dist/collection/components/text-editor/text-editor.js +2 -4
  76. package/dist/collection/components/text-editor/uploader/building-blocks-upload-handler.js +8 -9
  77. package/dist/collection/components/text-editor/uploader/building-blocks-uploader.js +1 -1
  78. package/dist/collection/components/text-editor/utils/searcher-utils.js +5 -0
  79. package/dist/collection/components/trend-indicator/trend-indicator.js +6 -6
  80. package/dist/collection/util/dom.js +3 -3
  81. package/dist/collection/util/limetype.js +11 -11
  82. package/dist/collection/util/non-null.js +5 -0
  83. package/dist/collection/util/percentage-class.js +2 -2
  84. package/dist/collection/util/random-string.js +6 -3
  85. package/dist/components/chat-item.js +6 -1
  86. package/dist/components/date-picker.js +3 -3
  87. package/dist/components/feed-timeline-item.js +2 -3
  88. package/dist/components/highlight-item.handler.js +2 -2
  89. package/dist/components/kanban-group.js +1 -1
  90. package/dist/components/kanban-item.js +1 -1
  91. package/dist/components/limebb-chat-list.js +32 -14
  92. package/dist/components/limebb-component-config.js +3 -1
  93. package/dist/components/limebb-feed.js +1 -1
  94. package/dist/components/limebb-icon-picker.js +9 -5
  95. package/dist/components/limebb-info-tile-date-format.js +1 -1
  96. package/dist/components/limebb-info-tile-format.js +1 -0
  97. package/dist/components/limebb-info-tile-unit-format.js +1 -1
  98. package/dist/components/limebb-info-tile.js +19 -20
  99. package/dist/components/limebb-limeobject-file-viewer.js +2 -2
  100. package/dist/components/limebb-locale-picker.js +12 -4
  101. package/dist/components/limebb-mention.js +3 -4
  102. package/dist/components/limebb-notification-list.js +29 -12
  103. package/dist/components/limebb-percentage-visualizer.js +5 -6
  104. package/dist/components/limebb-text-editor.js +39 -36
  105. package/dist/components/limebb-trend-indicator.js +6 -6
  106. package/dist/components/navigation-button.js +1 -1
  107. package/dist/components/non-null.js +5 -0
  108. package/dist/components/percentage-class.js +2 -2
  109. package/dist/components/summary-popover.js +3 -3
  110. package/dist/esm/{highlight-item.handler-96b59c20.js → highlight-item.handler-dfbf11c0.js} +2 -2
  111. package/dist/esm/{index-cdbbc18d.js → index-96dd111f.js} +3 -28
  112. package/dist/esm/{index.esm-5e14dac9.js → index.esm-10a8f67c.js} +1 -1
  113. package/dist/esm/lime-crm-building-blocks.js +2 -2
  114. package/dist/esm/limebb-browser.entry.js +2 -2
  115. package/dist/esm/limebb-chat-item_2.entry.js +8 -3
  116. package/dist/esm/limebb-chat-list.entry.js +34 -16
  117. package/dist/esm/limebb-component-config.entry.js +5 -3
  118. package/dist/esm/limebb-component-picker.entry.js +2 -2
  119. package/dist/esm/limebb-currency-picker.entry.js +3 -3
  120. package/dist/esm/limebb-dashboard-widget.entry.js +1 -1
  121. package/dist/esm/limebb-date-picker.entry.js +5 -5
  122. package/dist/esm/limebb-date-range.entry.js +1 -1
  123. package/dist/esm/limebb-empty-state.entry.js +1 -1
  124. package/dist/esm/limebb-feed-timeline-item.entry.js +4 -5
  125. package/dist/esm/limebb-feed.entry.js +4 -4
  126. package/dist/esm/limebb-icon-picker.entry.js +10 -6
  127. package/dist/esm/limebb-info-tile-currency-format.entry.js +1 -1
  128. package/dist/esm/limebb-info-tile-date-format.entry.js +2 -2
  129. package/dist/esm/limebb-info-tile-decimal-format.entry.js +1 -1
  130. package/dist/esm/limebb-info-tile-format.entry.js +2 -1
  131. package/dist/esm/limebb-info-tile-relative-date-format.entry.js +1 -1
  132. package/dist/esm/limebb-info-tile-unit-format.entry.js +2 -2
  133. package/dist/esm/limebb-info-tile.entry.js +21 -22
  134. package/dist/esm/limebb-kanban-group.entry.js +3 -3
  135. package/dist/esm/limebb-kanban-item.entry.js +3 -3
  136. package/dist/esm/limebb-kanban.entry.js +1 -1
  137. package/dist/esm/limebb-limeobject-file-viewer.entry.js +4 -4
  138. package/dist/esm/limebb-loader.entry.js +3 -3
  139. package/dist/esm/limebb-locale-picker.entry.js +14 -6
  140. package/dist/esm/limebb-mention-group-counter.entry.js +1 -1
  141. package/dist/esm/limebb-mention.entry.js +5 -6
  142. package/dist/esm/limebb-navigation-button_2.entry.js +5 -5
  143. package/dist/esm/limebb-notification-item.entry.js +2 -2
  144. package/dist/esm/limebb-notification-list.entry.js +31 -14
  145. package/dist/esm/limebb-percentage-visualizer.entry.js +7 -8
  146. package/dist/esm/limebb-text-editor-picker.entry.js +1 -1
  147. package/dist/esm/limebb-text-editor.entry.js +42 -39
  148. package/dist/esm/limebb-trend-indicator.entry.js +8 -8
  149. package/dist/esm/loader.js +2 -2
  150. package/dist/esm/non-null-5a66a269.js +10 -0
  151. package/dist/esm/{percentage-class-78377c1e.js → percentage-class-1e4748e8.js} +2 -2
  152. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  153. package/dist/lime-crm-building-blocks/{p-38eec842.entry.js → p-013b852a.entry.js} +1 -1
  154. package/dist/lime-crm-building-blocks/p-01cff04f.entry.js +1 -0
  155. package/dist/lime-crm-building-blocks/{p-ccc748a1.entry.js → p-0f925b3d.entry.js} +1 -1
  156. package/dist/lime-crm-building-blocks/{p-29e90714.entry.js → p-10ac8b3e.entry.js} +1 -1
  157. package/dist/lime-crm-building-blocks/p-1556b545.js +2 -0
  158. package/dist/lime-crm-building-blocks/p-1ff94c41.entry.js +1 -0
  159. package/dist/lime-crm-building-blocks/{p-b8d49d3e.entry.js → p-218b7f38.entry.js} +1 -1
  160. package/dist/lime-crm-building-blocks/p-235aec61.entry.js +1 -0
  161. package/dist/lime-crm-building-blocks/{p-ebbd8784.entry.js → p-25e1a434.entry.js} +1 -1
  162. package/dist/lime-crm-building-blocks/{p-e38afb31.entry.js → p-292631ea.entry.js} +1 -1
  163. package/dist/lime-crm-building-blocks/{p-67e1ea69.entry.js → p-302e0feb.entry.js} +1 -1
  164. package/dist/lime-crm-building-blocks/p-305a14bf.entry.js +1 -0
  165. package/dist/lime-crm-building-blocks/{p-99be75d5.entry.js → p-3a406a20.entry.js} +1 -1
  166. package/dist/lime-crm-building-blocks/{p-3dce616c.entry.js → p-3bd02e86.entry.js} +1 -1
  167. package/dist/lime-crm-building-blocks/{p-ca79dc23.entry.js → p-4aac81ef.entry.js} +1 -1
  168. package/dist/lime-crm-building-blocks/{p-eab00e3c.entry.js → p-4caa8bbe.entry.js} +1 -1
  169. package/dist/lime-crm-building-blocks/{p-d0ce5a35.entry.js → p-568b7520.entry.js} +1 -1
  170. package/dist/lime-crm-building-blocks/{p-0a331c84.entry.js → p-5f0d0df3.entry.js} +1 -1
  171. package/dist/lime-crm-building-blocks/p-66352a1e.js +1 -0
  172. package/dist/lime-crm-building-blocks/p-6b1a6487.entry.js +1 -0
  173. package/dist/lime-crm-building-blocks/p-6c56121c.entry.js +1 -0
  174. package/dist/lime-crm-building-blocks/{p-1eb8fb75.entry.js → p-70ab5db7.entry.js} +1 -1
  175. package/dist/lime-crm-building-blocks/p-75abe3ad.entry.js +1 -0
  176. package/dist/lime-crm-building-blocks/{p-58faab30.entry.js → p-8491aaa1.entry.js} +1 -1
  177. package/dist/lime-crm-building-blocks/p-8bf72bb4.entry.js +1 -0
  178. package/dist/lime-crm-building-blocks/p-8e316957.entry.js +1 -0
  179. package/dist/lime-crm-building-blocks/{p-3b9766cc.js → p-9b6ec98b.js} +1 -1
  180. package/dist/lime-crm-building-blocks/p-a9b0d2e5.entry.js +1 -0
  181. package/dist/lime-crm-building-blocks/p-ad52e723.entry.js +1 -0
  182. package/dist/lime-crm-building-blocks/p-af8c22c4.entry.js +1 -0
  183. package/dist/lime-crm-building-blocks/p-b107fe24.entry.js +1 -0
  184. package/dist/lime-crm-building-blocks/{p-27786967.entry.js → p-b5f15f73.entry.js} +1 -1
  185. package/dist/lime-crm-building-blocks/{p-af6e6696.entry.js → p-c45be80e.entry.js} +1 -1
  186. package/dist/lime-crm-building-blocks/p-c5d79dd5.entry.js +1 -0
  187. package/dist/lime-crm-building-blocks/{p-adcb57c6.entry.js → p-dd0370cd.entry.js} +1 -1
  188. package/dist/lime-crm-building-blocks/{p-0779e2b4.entry.js → p-e1e5f461.entry.js} +1 -1
  189. package/dist/lime-crm-building-blocks/{p-bf322752.entry.js → p-e2128caf.entry.js} +1 -1
  190. package/dist/lime-crm-building-blocks/p-f820c983.entry.js +1 -0
  191. package/dist/test/setup.js +15 -5
  192. package/dist/types/components/chat-list/{processChatItems.d.ts → process-chat-items.d.ts} +17 -5
  193. package/dist/types/components/date-picker/to-server-date.d.ts +3 -3
  194. package/dist/types/components/icon-picker/search.d.ts +9 -0
  195. package/dist/types/components/locale-picker/language.d.ts +9 -0
  196. package/dist/types/components/notification-list/{processNotificationItems.d.ts → process-notification-items.d.ts} +17 -5
  197. package/dist/types/components/text-editor/mentions.d.ts +2 -2
  198. package/dist/types/components/text-editor/uploader/building-blocks-upload-handler.d.ts +8 -8
  199. package/dist/types/components/text-editor/utils/searcher-utils.d.ts +5 -0
  200. package/dist/types/home/runner/work/lime-crm-building-blocks/lime-crm-building-blocks/.stencil/test/setup.d.ts +10 -0
  201. package/dist/types/util/dom.d.ts +3 -3
  202. package/dist/types/util/limetype.d.ts +11 -11
  203. package/dist/types/util/non-null.d.ts +4 -0
  204. package/dist/types/util/percentage-class.d.ts +2 -2
  205. package/package.json +8 -25
  206. package/dist/esm/non-null-d9b0b630.js +0 -5
  207. package/dist/lime-crm-building-blocks/p-06839012.entry.js +0 -1
  208. package/dist/lime-crm-building-blocks/p-10452278.entry.js +0 -1
  209. package/dist/lime-crm-building-blocks/p-2b8bfe92.entry.js +0 -1
  210. package/dist/lime-crm-building-blocks/p-2e496d18.entry.js +0 -1
  211. package/dist/lime-crm-building-blocks/p-31a55daa.entry.js +0 -1
  212. package/dist/lime-crm-building-blocks/p-37e0254e.entry.js +0 -1
  213. package/dist/lime-crm-building-blocks/p-3d961c1b.entry.js +0 -1
  214. package/dist/lime-crm-building-blocks/p-43c76027.entry.js +0 -1
  215. package/dist/lime-crm-building-blocks/p-46bf22fa.entry.js +0 -1
  216. package/dist/lime-crm-building-blocks/p-506dfcff.js +0 -1
  217. package/dist/lime-crm-building-blocks/p-51e87162.entry.js +0 -1
  218. package/dist/lime-crm-building-blocks/p-a581f635.entry.js +0 -1
  219. package/dist/lime-crm-building-blocks/p-acce6160.entry.js +0 -1
  220. package/dist/lime-crm-building-blocks/p-c4e6dcf4.entry.js +0 -1
  221. package/dist/lime-crm-building-blocks/p-cf06416b.entry.js +0 -1
  222. package/dist/lime-crm-building-blocks/p-d312f578.entry.js +0 -1
  223. package/dist/lime-crm-building-blocks/p-d736c794.js +0 -2
  224. /package/dist/lime-crm-building-blocks/{p-2b0ec58c.js → p-10e16feb.js} +0 -0
  225. /package/dist/lime-crm-building-blocks/{p-6fd28e32.js → p-1484e300.js} +0 -0
@@ -8,8 +8,8 @@ export class UploadHandler {
8
8
  /**
9
9
  * Handles image paste events in the text editor
10
10
  *
11
- * @param {ImageInserter} imageInserter - The image inserter with the file info
12
- * @returns {Promise<FileWrapper | undefined>} Promise resolving to the uploaded file wrapper or undefined if upload fails
11
+ * @param imageInserter - The image inserter with the file info
12
+ * @returns Promise resolving to the uploaded file wrapper or undefined if upload fails
13
13
  */
14
14
  async handleImagePasted(imageInserter) {
15
15
  const fileInfo = imageInserter === null || imageInserter === void 0 ? void 0 : imageInserter.fileInfo;
@@ -37,8 +37,8 @@ export class UploadHandler {
37
37
  * This function parses a URL to find a file ID that appears before
38
38
  * '/contents/' at the end of the URL.
39
39
  *
40
- * @param {string} src - The URL string to parse
41
- * @returns {string | undefined} The extracted file ID or undefined if no match is found
40
+ * @param src - The URL string to parse
41
+ * @returns The extracted file ID or undefined if no match is found
42
42
  *
43
43
  * @example
44
44
  * // Returns 123
@@ -64,8 +64,8 @@ export class UploadHandler {
64
64
  /**
65
65
  * Validates that the image file size is within limits
66
66
  *
67
- * @param {FileInfo} fileInfo - The file info to validate
68
- * @returns {boolean} True if file size is valid, false otherwise
67
+ * @param fileInfo - The file info to validate
68
+ * @returns True if file size is valid, false otherwise
69
69
  */
70
70
  validateImageSize(fileInfo) {
71
71
  if (!fileInfo.fileContent) {
@@ -76,8 +76,8 @@ export class UploadHandler {
76
76
  /**
77
77
  * Creates and uploads a file
78
78
  *
79
- * @param {FileInfo} fileInfo - The file info to upload
80
- * @returns {Promise<FileWrapper | undefined>} Promise resolving to the uploaded file wrapper or undefined if upload fails
79
+ * @param fileInfo - The file info to upload
80
+ * @returns Promise resolving to the uploaded file wrapper or undefined if upload fails
81
81
  */
82
82
  async createFileUpload(fileInfo) {
83
83
  var _a;
@@ -103,7 +103,6 @@ export class UploadHandler {
103
103
  imageUpload.contentType = response.contentType;
104
104
  imageUpload.size = response.size;
105
105
  imageUpload.state = 'done';
106
- // eslint-disable-next-line no-underscore-dangle
107
106
  imageUpload.href = (_a = response._links) === null || _a === void 0 ? void 0 : _a.contents.href;
108
107
  return imageUpload;
109
108
  }
@@ -10,7 +10,7 @@ export class FileUpload {
10
10
  this.http = http;
11
11
  this.uploadCancelled = false;
12
12
  this.getUrl = (fileid) => {
13
- return `${CORE_API_PATH}/${FILE_PATH}/${fileid ? fileid : ''}`;
13
+ return `${CORE_API_PATH}/${FILE_PATH}/${fileid !== null && fileid !== void 0 ? fileid : ''}`;
14
14
  };
15
15
  }
16
16
  async initialize() {
@@ -4,6 +4,11 @@ export const getItemIndex = (direction, currentItemIndex, numberOfItems) => {
4
4
  const increment = direction === ARROW_DOWN ? 1 : -1;
5
5
  return (currentItemIndex + increment + numberOfItems) % numberOfItems;
6
6
  };
7
+ /**
8
+ *
9
+ * @param items
10
+ * @param highlightedItemIndex
11
+ */
7
12
  export function getUpdatedItems(items, highlightedItemIndex) {
8
13
  return items.map((item, index) => {
9
14
  const newItem = cloneDeep(item);
@@ -62,7 +62,7 @@ export class TrendIndicator {
62
62
  return h("span", { class: "no-value" }, "\u2013");
63
63
  }
64
64
  return [
65
- h("div", { class: "icon" }, this.getArrowIcon()),
65
+ this.getArrowIcon(),
66
66
  h("span", null, this.renderGrowthPercentage(), this.renderGrowthAmount()),
67
67
  ];
68
68
  }
@@ -126,19 +126,19 @@ export class TrendIndicator {
126
126
  const percentage = (((this.numValue - this.formerValue) /
127
127
  Math.abs(this.formerValue)) *
128
128
  PERCENT).toFixed(DECIMALS);
129
- return parseFloat(percentage);
129
+ return Number.parseFloat(percentage);
130
130
  }
131
131
  unifyMinusSign(input) {
132
132
  // Replace Unicode minus sign (−) with ASCII hyphen-minus (-)
133
- return input.replace(/−/g, '-');
133
+ return input.replaceAll('−', '-');
134
134
  }
135
135
  convertToUnicodeMinus(input) {
136
136
  // Replace ASCII hyphen-minus (-) with Unicode minus sign (−)
137
- return input.replace(/-/g, '−');
137
+ return input.replaceAll('-', '−');
138
138
  }
139
139
  parseValue(value) {
140
140
  if (typeof value === 'string') {
141
- return parseFloat(this.unifyMinusSign(value));
141
+ return Number.parseFloat(this.unifyMinusSign(value));
142
142
  }
143
143
  return value;
144
144
  }
@@ -150,7 +150,7 @@ export class TrendIndicator {
150
150
  return this.convertToUnicodeMinus(constructedValue);
151
151
  }
152
152
  getArrowIcon() {
153
- return (h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 32 32" }, h("line", { fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-miterlimit": "10", x1: "26", y1: "16", x2: "4", y2: "16" }), h("polyline", { fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-miterlimit": "10", points: "18,7.5 26.5,16 18,24.5 " })));
153
+ return (h("limel-icon", { class: "icon", name: "right", "aria-hidden": "true", role: "presentation" }));
154
154
  }
155
155
  static get is() { return "limebb-trend-indicator"; }
156
156
  static get encapsulation() { return "shadow"; }
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * Find the closest parent element matching the given predicate
3
3
  *
4
- * @param {HTMLElement} element - the element to check if it matches the given
4
+ * @param element - the element to check if it matches the given
5
5
  * predicate
6
- * @param {Function} predicate - predicate function
7
- * @returns {HTMLElement | undefined} the matching element if it is found
6
+ * @param predicate - predicate function
7
+ * @returns the matching element if it is found
8
8
  */
9
9
  export function findParentElement(element, predicate) {
10
10
  if (predicate(element)) {
@@ -2,9 +2,9 @@ import { isRelation, isSingleRelation, } from "@limetech/lime-web-components";
2
2
  /**
3
3
  * Whether the given object has the given label or not.
4
4
  *
5
- * @param {LimeType|LimeProperty} object the object to check label for
6
- * @param {string} label the label to check for
7
- * @returns {boolean} true if the object has the label
5
+ * @param object the object to check label for
6
+ * @param label the label to check for
7
+ * @returns true if the object has the label
8
8
  */
9
9
  export function hasLabel(object, label) {
10
10
  return object.label === label;
@@ -12,8 +12,8 @@ export function hasLabel(object, label) {
12
12
  /**
13
13
  * Whether the given property is a hasmany relation or not.
14
14
  *
15
- * @param {LimeProperty} property the property to check
16
- * @returns {boolean} true if the property is a hasmany relation
15
+ * @param property the property to check
16
+ * @returns true if the property is a hasmany relation
17
17
  */
18
18
  export function isManyRelation(property) {
19
19
  return isRelation(property) && !isSingleRelation(property);
@@ -22,9 +22,9 @@ export function isManyRelation(property) {
22
22
  * Finds a relation property on the given limetype that is related to a
23
23
  * limetype with the given label.
24
24
  *
25
- * @param {LimeType} limetype the limetype to search for the relation property
26
- * @param {string} label the label of the target limetype to match
27
- * @returns {LimeProperty|undefined} the relation property or undefined
25
+ * @param limetype the limetype to search for the relation property
26
+ * @param label the label of the target limetype to match
27
+ * @returns the relation property or undefined
28
28
  */
29
29
  export function getRelationProperty(limetype, label) {
30
30
  return Object.values(limetype.properties).find((property) => property &&
@@ -34,9 +34,9 @@ export function getRelationProperty(limetype, label) {
34
34
  /**
35
35
  * Whether the limetype has a hasmany relation of a limetype with the given label
36
36
  *
37
- * @param {LimeType} limetype the limetype
38
- * @param {string} relatedLabel the label of the related limetype
39
- * @returns {boolean} true if the limetype has the hasmany relation
37
+ * @param limetype the limetype
38
+ * @param relatedLabel the label of the related limetype
39
+ * @returns true if the limetype has the hasmany relation
40
40
  */
41
41
  export function hasHasManyRelation(limetype, relatedLabel) {
42
42
  const property = getRelationProperty(limetype, relatedLabel);
@@ -1,3 +1,8 @@
1
+ /**
2
+ *
3
+ * @param value
4
+ */
5
+ // eslint-disable-next-line unicorn/prefer-native-coercion-functions
1
6
  export function isNonNull(value) {
2
7
  return Boolean(value);
3
8
  }
@@ -16,9 +16,9 @@
16
16
  * The returned class names can be used in CSS to apply different colors,
17
17
  * transformations, or other visual treatments based on the percentage range.
18
18
  *
19
- * @param {number|null} value - The percentage value to classify,
19
+ * @param value - The percentage value to classify,
20
20
  * can be positive, negative, or zero
21
- * @returns {string} A class name string representing the percentage range,
21
+ * @returns A class name string representing the percentage range,
22
22
  * or an empty string if value is null
23
23
  */
24
24
  export function getPercentageClass(value) {
@@ -1,3 +1,4 @@
1
+ /* eslint-disable sonarjs/pseudo-random */
1
2
  export const createRandomString = () => {
2
3
  var _a;
3
4
  if (!('crypto' in window) ||
@@ -11,7 +12,9 @@ function legacyCreateRandomString() {
11
12
  const SKIP_LEADING_ZERODOT = 2;
12
13
  const ASCII_A = 97;
13
14
  const NUMBER_OF_LETTERS = 26;
14
- return (String.fromCharCode(ASCII_A + Math.floor(Math.random() * NUMBER_OF_LETTERS)) +
15
- Math.random().toString(USE_HEX).substring(SKIP_LEADING_ZERODOT) +
16
- Math.random().toString(USE_HEX).substring(SKIP_LEADING_ZERODOT));
15
+ return (String.fromCodePoint(ASCII_A + Math.floor(Math.random() * NUMBER_OF_LETTERS)) +
16
+ Math.random()
17
+ .toString(USE_HEX)
18
+ .slice(Math.max(0, SKIP_LEADING_ZERODOT)) +
19
+ Math.random().toString(USE_HEX).slice(Math.max(0, SKIP_LEADING_ZERODOT)));
17
20
  }
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { c } from './index.esm.js';
3
3
 
4
- const chatItemCss = "@charset \"UTF-8\";*{box-sizing:border-box}:host(limebb-chat-item){display:flex;flex-direction:column;gap:0.25rem;min-width:0;min-height:0;max-width:calc(100% - 2rem)}.bubble-content{display:flex;gap:0.25rem;min-width:0;min-height:0}:host(limebb-chat-item:hover) .helper-text,:host(limebb-chat-item:hover) .timestamp,:host(limebb-chat-item:focus-within) .helper-text,:host(limebb-chat-item:focus-within) .timestamp{opacity:1}:host(limebb-chat-item.mine){margin-left:auto}:host(limebb-chat-item.mine) .item{border-bottom-right-radius:0.125rem;background-color:rgb(var(--color-sky-default), 0.2)}:host(limebb-chat-item.mine) .bubble-content{justify-content:end}:host(limebb-chat-item.mine) .icon-picture{order:2}:host(limebb-chat-item.theirs){margin-right:auto}:host(limebb-chat-item.theirs) .item{border-bottom-left-radius:0.125rem;background-color:rgb(var(--contrast-300), 0.7)}.item{display:flex;flex-direction:column;border-radius:1.25rem;padding:0 0.25rem 0.25rem 0.25rem;backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem)}.icon-picture{display:flex;flex-direction:column;gap:0.5rem;align-items:center;justify-content:flex-end}.icon-picture:has(.author-avatar) limel-icon{width:1.25rem;padding:0.125rem}.icon{--icon-background-color:rgb(var(--contrast-500), 0.5);flex-shrink:0;padding:0.375rem;width:2.25rem;backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem)}header{display:flex;justify-content:space-between;align-items:center;min-height:2rem;padding-left:0.5rem}header:not(:has(.unpromoted-actions-menu)){padding-right:0.5rem}.body-text{padding:0.25rem 0.5rem}footer{display:flex;justify-content:space-between;align-items:end;gap:0.5rem;font-size:x-small}footer:not(:empty){padding:0 0.25rem 0.125rem 0.5rem}footer *{transition:opacity 0.2s ease;opacity:0.4}.timestamp{margin-left:auto}.author-avatar{border-radius:50%;width:2rem;height:2rem;object-fit:cover;box-shadow:0 0 0 1px rgb(var(--contrast-600))}.author{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:500;text-decoration:none}a.author{position:relative;cursor:pointer;transition:color 0.2s ease;color:var(--mdc-theme-primary)}a.author:before{transition:opacity 0.2s ease, transform 0.3s ease-out;content:\"\";position:absolute;inset:auto 0 0 0;width:calc(100% - 0.5rem);margin:auto;height:0.125rem;border-radius:1rem;background-color:currentColor;opacity:0;transform:scale(0.6)}a.author:hover{color:rgb(var(--color-teal-light))}a.author:hover:before{opacity:0.3;transform:scale(1)}limel-action-bar{--action-bar-item-height:1.75rem;transition:opacity 0.2s ease;justify-content:flex-start;opacity:0.8}.action-bar{display:grid;transition:grid-template-rows var(--limebb-promoted-action-bar-grid-template-rows-transition-speed, 0.2s) cubic-bezier(1, 0.09, 0, 0.89) var(--limebb-promoted-action-bar-grid-template-rows-transition-delay, 0s);grid-template-rows:var(--limebb-promoted-action-bar-grid-template-rows, 1fr)}.action-bar-hider{overflow:hidden}limel-action-bar{transition:padding var(--limebb-promoted-action-bar-grid-template-rows-transition-speed) cubic-bezier(1, 0.09, 0, 0.89) var(--limebb-promoted-action-bar-grid-template-rows-transition-delay);padding-top:0;padding-bottom:0.75rem}:host(limebb-chat-item:hover) .action-bar,:host(limebb-chat-item:focus-within) .action-bar,:host(limebb-chat-item:focus-visible) .action-bar{--limebb-promoted-action-bar-grid-template-rows:1fr;will-change:grid-template-rows}:host(limebb-chat-item:hover) limel-action-bar,:host(limebb-chat-item:focus-within) limel-action-bar,:host(limebb-chat-item:focus-visible) limel-action-bar{will-change:opacity;opacity:1}:host(limebb-chat-item:hover),:host(limebb-chat-item:focus-within){--limebb-promoted-action-bar-grid-template-rows-transition-speed:0.46s;--limebb-promoted-action-bar-grid-template-rows-transition-delay:0.7s}.action-bar{min-width:0;width:calc(100% - calc(2rem + 0.25rem))}:host(limebb-chat-item.theirs) .action-bar{margin-left:calc(2rem + 0.25rem)}:host(limebb-chat-item[has-error]:not([has-error=false])) .bubble-content{cursor:help}:host(limebb-chat-item[has-error]:not([has-error=false])) .item{border:1px solid rgb(var(--color-red-default))}:host(limebb-chat-item[has-error]:not([has-error=false])) .error-sign{color:rgb(var(--color-red-default));flex-shrink:0;width:1.25rem;align-self:center}:host(limebb-chat-item.mine[has-error]:not([has-error=false])) .action-bar{padding-left:1.25rem}:host(limebb-chat-item.mine[has-error]:not([has-error=false])) .helper-text{opacity:1;color:rgb(var(--color-red-default))}";
4
+ const chatItemCss = "@charset \"UTF-8\";*{box-sizing:border-box}:host(limebb-chat-item){display:flex;flex-direction:column;gap:0.25rem;min-width:0;min-height:0;max-width:calc(100% - 2rem)}.bubble-content{display:flex;gap:0.25rem;min-width:0;min-height:0}:host(limebb-chat-item:hover) .helper-text,:host(limebb-chat-item:hover) .timestamp,:host(limebb-chat-item:focus-within) .helper-text,:host(limebb-chat-item:focus-within) .timestamp{opacity:1}:host(limebb-chat-item.mine){margin-left:auto}:host(limebb-chat-item.mine) .item{border-bottom-right-radius:0.125rem;background-color:rgb(var(--color-sky-default), 0.2)}:host(limebb-chat-item.mine) .bubble-content{justify-content:end}:host(limebb-chat-item.mine) .icon-picture{order:2}:host(limebb-chat-item.theirs){margin-right:auto}:host(limebb-chat-item.theirs) .item{border-bottom-left-radius:0.125rem;background-color:rgb(var(--contrast-300), 0.7)}.item{display:flex;flex-direction:column;border-radius:1.25rem;padding:0 0.25rem 0.25rem 0.25rem;backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem)}.icon-picture{display:flex;flex-direction:column;gap:0.5rem;align-items:center;justify-content:flex-end}.icon-picture:has(.author-avatar) limel-icon{width:1.25rem;padding:0.125rem}.icon{--icon-background-color:rgb(var(--contrast-500), 0.5);flex-shrink:0;padding:0.375rem;width:2.25rem;backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem)}limel-ai-avatar.author-avatar{background-color:rgb(var(--color-glaucous-darker))}header{display:flex;justify-content:space-between;align-items:center;min-height:2rem;padding-left:0.5rem}header:not(:has(.unpromoted-actions-menu)){padding-right:0.5rem}.body-text{padding:0.25rem 0.5rem}footer{display:flex;justify-content:space-between;align-items:end;gap:0.5rem;font-size:x-small}footer:not(:empty){padding:0 0.25rem 0.125rem 0.5rem}footer *{transition:opacity 0.2s ease;opacity:0.4}.timestamp{margin-left:auto}.author-avatar{border-radius:50%;width:2rem;height:2rem;object-fit:cover;box-shadow:0 0 0 1px rgb(var(--contrast-600))}.author{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:500;text-decoration:none}a.author{position:relative;cursor:pointer;transition:color 0.2s ease;color:var(--mdc-theme-primary)}a.author:before{transition:opacity 0.2s ease, transform 0.3s ease-out;content:\"\";position:absolute;inset:auto 0 0 0;width:calc(100% - 0.5rem);margin:auto;height:0.125rem;border-radius:1rem;background-color:currentColor;opacity:0;transform:scale(0.6)}a.author:hover{color:rgb(var(--color-teal-light))}a.author:hover:before{opacity:0.3;transform:scale(1)}limel-action-bar{--action-bar-item-height:1.75rem;transition:opacity 0.2s ease;justify-content:flex-start;opacity:0.8}.action-bar{display:grid;transition:grid-template-rows var(--limebb-promoted-action-bar-grid-template-rows-transition-speed, 0.2s) cubic-bezier(1, 0.09, 0, 0.89) var(--limebb-promoted-action-bar-grid-template-rows-transition-delay, 0s);grid-template-rows:var(--limebb-promoted-action-bar-grid-template-rows, 1fr)}.action-bar-hider{overflow:hidden}limel-action-bar{transition:padding var(--limebb-promoted-action-bar-grid-template-rows-transition-speed) cubic-bezier(1, 0.09, 0, 0.89) var(--limebb-promoted-action-bar-grid-template-rows-transition-delay);padding-top:0;padding-bottom:0.75rem}:host(limebb-chat-item:hover) .action-bar,:host(limebb-chat-item:focus-within) .action-bar,:host(limebb-chat-item:focus-visible) .action-bar{--limebb-promoted-action-bar-grid-template-rows:1fr;will-change:grid-template-rows}:host(limebb-chat-item:hover) limel-action-bar,:host(limebb-chat-item:focus-within) limel-action-bar,:host(limebb-chat-item:focus-visible) limel-action-bar{will-change:opacity;opacity:1}:host(limebb-chat-item:hover),:host(limebb-chat-item:focus-within){--limebb-promoted-action-bar-grid-template-rows-transition-speed:0.46s;--limebb-promoted-action-bar-grid-template-rows-transition-delay:0.7s}.action-bar{min-width:0;width:calc(100% - calc(2rem + 0.25rem))}:host(limebb-chat-item.theirs) .action-bar{margin-left:calc(2rem + 0.25rem)}:host(limebb-chat-item[has-error]:not([has-error=false])) .bubble-content{cursor:help}:host(limebb-chat-item[has-error]:not([has-error=false])) .item{border:1px solid rgb(var(--color-red-default))}:host(limebb-chat-item[has-error]:not([has-error=false])) .error-sign{color:rgb(var(--color-red-default));flex-shrink:0;width:1.25rem;align-self:center}:host(limebb-chat-item.mine[has-error]:not([has-error=false])) .action-bar{padding-left:1.25rem}:host(limebb-chat-item.mine[has-error]:not([has-error=false])) .helper-text{opacity:1;color:rgb(var(--color-red-default))}";
5
5
  const LimebbChatItemStyle0 = chatItemCss;
6
6
 
7
7
  const ChatListItem = /*@__PURE__*/ proxyCustomElement(class ChatListItem extends HTMLElement {
@@ -119,6 +119,11 @@ const ChatListItem = /*@__PURE__*/ proxyCustomElement(class ChatListItem extends
119
119
  if (!((_a = this.item.author) === null || _a === void 0 ? void 0 : _a.picture)) {
120
120
  return;
121
121
  }
122
+ // If the "picture url" is set to "limel-ai-avatar",
123
+ // we render a limel-ai-avatar component instead of an image.
124
+ if (this.item.author.picture === 'limel-ai-avatar') {
125
+ return h("limel-ai-avatar", { class: "author-avatar" });
126
+ }
122
127
  return (h("img", { class: "author-avatar", loading: "lazy", src: this.item.author.picture }));
123
128
  }
124
129
  renderUnpromotedActionsMenu() {
@@ -9,9 +9,9 @@ import { c } from './index.esm.js';
9
9
  * input: 2020-01-01T00:00:00+02:00
10
10
  * output: 2020-01-01T00:00:00Z
11
11
  *
12
- * @param {Date} changedDate The date to convert
13
- * @param {DateType} type The type of date
14
- * @returns {Date} The converted date
12
+ * @param changedDate The date to convert
13
+ * @param type The type of date
14
+ * @returns The converted date
15
15
  */
16
16
  function toServerDate(changedDate, type) {
17
17
  if (type === 'datetime' || type === 'time') {
@@ -3,7 +3,7 @@ import { c } from './index.esm.js';
3
3
  import { d as defineCustomElement$2 } from './navigation-button.js';
4
4
  import { d as defineCustomElement$1 } from './summary-popover.js';
5
5
 
6
- const feedTimelineItemCss = "@charset \"UTF-8\";limel-action-bar{--action-bar-item-height:1.75rem;transition:opacity 0.2s ease;justify-content:flex-start;opacity:0.8}.action-bar{display:grid;transition:grid-template-rows var(--limebb-promoted-action-bar-grid-template-rows-transition-speed, 0.2s) cubic-bezier(1, 0.09, 0, 0.89) var(--limebb-promoted-action-bar-grid-template-rows-transition-delay, 0s);grid-template-rows:var(--limebb-promoted-action-bar-grid-template-rows, 1fr)}.action-bar-hider{overflow:hidden}limel-action-bar{transition:padding var(--limebb-promoted-action-bar-grid-template-rows-transition-speed) cubic-bezier(1, 0.09, 0, 0.89) var(--limebb-promoted-action-bar-grid-template-rows-transition-delay);padding-top:0;padding-bottom:0.75rem}:host(limebb-feed-timeline-item:hover) .action-bar,:host(limebb-feed-timeline-item:focus-within) .action-bar,:host(limebb-feed-timeline-item:focus-visible) .action-bar{--limebb-promoted-action-bar-grid-template-rows:1fr;will-change:grid-template-rows}:host(limebb-feed-timeline-item:hover) limel-action-bar,:host(limebb-feed-timeline-item:focus-within) limel-action-bar,:host(limebb-feed-timeline-item:focus-visible) limel-action-bar{will-change:opacity;opacity:1}:host(limebb-feed-timeline-item:hover),:host(limebb-feed-timeline-item:focus-within){--limebb-promoted-action-bar-grid-template-rows-transition-speed:0.46s;--limebb-promoted-action-bar-grid-template-rows-transition-delay:0.7s}:host(limebb-feed-timeline-item.is-tall) .markdown-container{margin-bottom:0.5rem}:host(limebb-feed-timeline-item.is-tall) .body-text{--body-text-min-height-set-by-code:10rem;min-height:calc(var(--body-text-min-height-set-by-code) + 0.25rem)}:host(limebb-feed-timeline-item.is-tall) .body-text:after{transition:opacity 0.6s ease;content:\"\";opacity:0.26;pointer-events:none;position:absolute;bottom:-0.125rem;right:-0.125rem;left:-0.125rem;height:2.5rem;background:radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0)) 0 100%, linear-gradient(to bottom, rgb(var(--limebb-feed-item-background-color), 0) 0%, rgb(var(--limebb-feed-item-background-color), 90%) 100%);background-repeat:no-repeat;background-size:100% 0.5rem, 100% 100%}:host(limebb-feed-timeline-item.is-tall.shows-less) .markdown-container{grid-template-rows:0fr}:host(limebb-feed-timeline-item.is-tall.shows-less) .body-text:after{opacity:1}:host(limebb-feed-timeline-item.is-tall.shows-more) .markdown-container{grid-template-rows:1fr}:host(limebb-feed-timeline-item.is-tall.shows-more) #show-more-button limel-icon{rotate:180deg}.markdown-container{position:relative;display:grid}.markdown-container:not(.opened){transition:grid-template-rows min(var(--body-text-height) * 1.2ms, 500ms) cubic-bezier(1, 0.09, 0, 0.89)}.body-text{display:block;overflow:hidden}#show-more-button{all:unset;transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-normal);z-index:1;position:absolute;right:0;bottom:-0.6rem;left:0;margin:0 auto;display:flex;align-items:center;justify-content:center;border-radius:3rem;width:2rem;height:1rem}#show-more-button:hover,#show-more-button:focus,#show-more-button:focus-visible{will-change:color, background-color, box-shadow, transform}#show-more-button:hover{transform:translate3d(0, -0.04rem, 0);color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}#show-more-button:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}#show-more-button:hover,#show-more-button:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}#show-more-button:focus{outline:none}#show-more-button:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}#show-more-button limel-icon{transition:rotate 0.2s ease 0.5s;color:var(--mdc-theme-primary);width:0.75rem}:host(limebb-feed-timeline-item[ui=standard]) .content{background-color:rgb(var(--limebb-feed-item-background-color))}:host(limebb-feed-timeline-item[ui=emphasized]) .content{border:1px dashed rgb(var(--contrast-800))}:host(limebb-feed-timeline-item[ui=minimal]) limel-markdown{--markdown-hyperlink-color:rgb(var(--contrast-900))}:host(limebb-feed-timeline-item[ui=minimal]) limel-markdown:hover{--markdown-hyperlink-color:rgb(var(--color-blue-default))}:host(limebb-feed-timeline-item[ui=minimal]) a.author{color:rgb(var(--contrast-900))}:host(limebb-feed-timeline-item[ui=minimal]) .header:hover a.author{color:rgb(var(--color-blue-default))}:host(limebb-feed-timeline-item[ui=minimal]) .icon{color:rgb(var(--contrast-900)) !important}:host(limebb-feed-timeline-item[ui=minimal]) .body-text{color:rgb(var(--contrast-900))}:host(limebb-feed-timeline-item[ui=minimal]) .body-text:hover{color:rgb(var(--contrast-1100))}:host(limebb-feed-timeline-item[ui=thread-message]){margin-bottom:0.25rem}:host(limebb-feed-timeline-item[ui=thread-message]) .content{border-radius:0;box-shadow:var(--button-shadow-normal);margin-bottom:0.25rem;background-color:var(--lime-elevated-surface-background-color)}:host(limebb-feed-timeline-item[ui=thread-message]) .header{padding-bottom:0.75rem;margin-bottom:0.25rem}:host(limebb-feed-timeline-item[ui=thread-message]) .header:before{content:\"\";position:absolute;top:calc(var(--limebb-feed-item-paddings) * -1 + 0.25rem);left:calc(var(--limebb-feed-item-paddings) * -1);right:calc(var(--limebb-feed-item-paddings) * -1);bottom:0;pointer-events:none;border-bottom:1px dashed rgb(var(--contrast-600))}:host(limebb-feed-timeline-item[ui=thread-message]) .thread-effects{transition:transform 0.2s ease;pointer-events:none;content:\"\";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;box-shadow:var(--button-shadow-normal);transform:translate3d(-0.225rem, -0.125rem, 0) rotate(0.5deg);background-color:rgb(var(--contrast-300))}:host(limebb-feed-timeline-item.is-tall[ui=thread-message]) .body-text{--body-text-min-height-set-by-code:3rem;min-height:calc(var(--body-text-min-height-set-by-code) + 0.25rem);max-height:35rem}:host(limebb-feed-timeline-item.is-tall[ui=thread-message].shows-more) .body-text{overflow-y:auto}:host(limebb-feed-timeline-item[ui=error-message]) .icon{color:rgb(var(--color-red-default))}:host(limebb-feed-timeline-item[ui=error-message]) .content{border:1px dashed rgb(var(--color-red-light));background-color:rgb(var(--color-red-lighter), 0.2)}.content{position:relative}.content:before,.content:after{content:\"\";position:absolute;top:1rem;bottom:1rem;left:-0.125rem;width:0.25rem;border-radius:0.25rem}.content:before{background-color:var(--color-code)}:host(limebb-feed-timeline-item[ui=emphasized]) .content:before,:host(limebb-feed-timeline-item[ui=emphasized]) .content:after{left:calc(-0.125rem - 0.5px)}:host(limebb-feed-timeline-item[ui=minimal]) .content:before{opacity:0.25}:host(limebb-feed-timeline-item[ui=minimal]) .content:after{opacity:0.5;background:repeating-linear-gradient(45deg, var(--color-code), var(--color-code) 0.5rem, transparent 0.5rem, transparent 1rem);background-size:0.25rem 100%;background-repeat:repeat-y;background-position:left;rotate:180deg}:host(limebb-feed-timeline-item[ui=thread-message]) .content:before{top:0.25rem;bottom:unset;height:1.75rem}*{box-sizing:border-box}:host(limebb-feed-timeline-item){--limebb-feed-item-paddings:0.75rem;display:flex;gap:0.75rem;position:relative;isolation:isolate;border-radius:0.5rem}:host(limebb-feed-timeline-item[is-bundled]:hover){--limebb-feed-item-timestamp-opacity-delay:0.5s}:host(limebb-feed-timeline-item[is-bundled]:hover) .timestamp{opacity:1}:host(limebb-feed-timeline-item[is-bundled]) .timestamp{opacity:0}:host(limebb-feed-timeline-item:hover),:host(limebb-feed-timeline-item:focus),:host(limebb-feed-timeline-item:focus-within){--limebb-feed-item-timeline-color:var(--mdc-theme-primary);--limebb-feed-item-timestamp-color:var(--mdc-theme-primary)}.left:before{transition:background-color 0.2s ease;content:\"\";position:absolute;z-index:-1;top:-0.25rem;bottom:-0.25rem;left:1rem;width:1px;border-radius:1rem;background-color:var(--limebb-feed-item-timeline-color, rgb(var(--contrast-600)))}.info{position:sticky;top:0.5rem;display:flex;flex-direction:column;align-items:center;gap:0.25rem}.right,.content{display:flex;flex-direction:column;flex-grow:1;min-width:0}.content{border-radius:1rem;gap:0.25rem;padding:var(--limebb-feed-item-paddings)}.header{position:relative;display:flex;gap:0.25rem;padding-bottom:0.25rem;margin-top:-0.25rem;color:rgb(var(--contrast-900));font-size:0.875rem}:host(.has-unpromoted-actions) .header{padding-right:2rem}.header limel-markdown{--markdown-hyperlink-color:var(--mdc-theme-primary);--markdown-hyperlink-color--hovered:rgb(var(--color-teal-light))}.heading{flex-grow:1;overflow:hidden;white-space:nowrap}.heading.expanded-heading{white-space:normal}button.expand-heading{all:unset;transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:rgb(var(--color-blue-default));background-color:transparent;border-radius:1rem;padding:0 0.25rem 0.25rem 0.25rem;height:1rem;white-space:nowrap}button.expand-heading:hover,button.expand-heading:focus,button.expand-heading:focus-visible{will-change:color, background-color, box-shadow, transform}button.expand-heading:hover{transform:translate3d(0, 0.01rem, 0);color:rgb(var(--color-blue-default));background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}button.expand-heading:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}button.expand-heading:hover,button.expand-heading:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}button.collapse-heading{all:unset;transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-normal);flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:1.5rem;width:1rem}button.collapse-heading:hover,button.collapse-heading:focus,button.collapse-heading:focus-visible{will-change:color, background-color, box-shadow, transform}button.collapse-heading:hover{transform:translate3d(0, -0.04rem, 0);color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}button.collapse-heading:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}button.collapse-heading:hover,button.collapse-heading:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}button.collapse-heading:focus{outline:none}button.collapse-heading:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}button.collapse-heading limel-icon{width:0.75rem}.unpromoted-actions-menu{position:absolute;top:0;right:0;z-index:1}.timestamp{transition:color 0.4s ease, opacity 0.2s ease;transition-delay:var(--limebb-feed-item-timestamp-opacity-delay, 0s);font-size:0.75rem;text-align:center;color:var(--limebb-feed-item-timestamp-color, rgb(var(--contrast-800)));background-color:var(--limebb-feed-background-color);padding:0.125rem 0;width:2rem;border-radius:1rem}.icon{--icon-background-color:var(--limebb-feed-background-color);width:2rem;padding:0.125rem}:host(.has-author-picture) .icon{width:1.5rem}img{cursor:help;border-radius:50%;width:2rem;height:2rem;object-fit:cover;background-color:var(--limebb-feed-background-color);box-shadow:0 0 0 1px rgb(var(--contrast-600))}.author{font-weight:bold;text-decoration:none;white-space:nowrap}a.author{position:relative;cursor:pointer;transition:color 0.2s ease;color:var(--mdc-theme-primary)}a.author:before{transition:opacity 0.2s ease, transform 0.3s ease-out;content:\"\";position:absolute;inset:auto 0 0 0;width:calc(100% - 0.5rem);margin:auto;height:0.125rem;border-radius:1rem;background-color:currentColor;opacity:0;transform:scale(0.6)}a.author:hover{color:rgb(var(--color-teal-light))}a.author:hover:before{opacity:0.3;transform:scale(1)}limel-chip-set{--limel-chip-size:1.5rem;--button-shadow-normal:none;margin-left:-1rem;margin-bottom:-0.5rem}.helper-text{transition:opacity 0.2s ease;opacity:0.6;font-size:x-small;margin-top:0.5rem;margin-bottom:-0.25rem}:host(limebb-feed-timeline-item:hover) .helper-text,:host(limebb-feed-timeline-item:focus-within) .helper-text{opacity:1}:host(limebb-feed-timeline-item[has-error]:not([has-error=false])) .left:before{background-color:rgb(var(--color-red-default));box-shadow:0 0 0 1px rgb(var(--color-red-default))}:host(limebb-feed-timeline-item[has-error]:not([has-error=false])) img,:host(limebb-feed-timeline-item[has-error]:not([has-error=false])) .icon{box-shadow:var(--shadow-error-state)}:host(limebb-feed-timeline-item[has-error]:not([has-error=false])) .helper-text{opacity:1;color:rgb(var(--color-red-default))}";
6
+ const feedTimelineItemCss = "@charset \"UTF-8\";limel-action-bar{--action-bar-item-height:1.75rem;transition:opacity 0.2s ease;justify-content:flex-start;opacity:0.8}.action-bar{display:grid;transition:grid-template-rows var(--limebb-promoted-action-bar-grid-template-rows-transition-speed, 0.2s) cubic-bezier(1, 0.09, 0, 0.89) var(--limebb-promoted-action-bar-grid-template-rows-transition-delay, 0s);grid-template-rows:var(--limebb-promoted-action-bar-grid-template-rows, 1fr)}.action-bar-hider{overflow:hidden}limel-action-bar{transition:padding var(--limebb-promoted-action-bar-grid-template-rows-transition-speed) cubic-bezier(1, 0.09, 0, 0.89) var(--limebb-promoted-action-bar-grid-template-rows-transition-delay);padding-top:0;padding-bottom:0.75rem}:host(limebb-feed-timeline-item:hover) .action-bar,:host(limebb-feed-timeline-item:focus-within) .action-bar,:host(limebb-feed-timeline-item:focus-visible) .action-bar{--limebb-promoted-action-bar-grid-template-rows:1fr;will-change:grid-template-rows}:host(limebb-feed-timeline-item:hover) limel-action-bar,:host(limebb-feed-timeline-item:focus-within) limel-action-bar,:host(limebb-feed-timeline-item:focus-visible) limel-action-bar{will-change:opacity;opacity:1}:host(limebb-feed-timeline-item:hover),:host(limebb-feed-timeline-item:focus-within){--limebb-promoted-action-bar-grid-template-rows-transition-speed:0.46s;--limebb-promoted-action-bar-grid-template-rows-transition-delay:0.7s}:host(limebb-feed-timeline-item.is-tall) .markdown-container{margin-bottom:0.5rem}:host(limebb-feed-timeline-item.is-tall) .body-text{--body-text-min-height-set-by-code:10rem;min-height:calc(var(--body-text-min-height-set-by-code) + 0.25rem)}:host(limebb-feed-timeline-item.is-tall) .body-text:after{transition:opacity 0.6s ease;content:\"\";opacity:0.26;pointer-events:none;position:absolute;bottom:-0.125rem;right:-0.125rem;left:-0.125rem;height:2.5rem;background:radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0)) 0 100%, linear-gradient(to bottom, rgb(var(--limebb-feed-item-background-color), 0) 0%, rgb(var(--limebb-feed-item-background-color), 90%) 100%);background-repeat:no-repeat;background-size:100% 0.5rem, 100% 100%}:host(limebb-feed-timeline-item.is-tall.shows-less) .markdown-container{grid-template-rows:0fr}:host(limebb-feed-timeline-item.is-tall.shows-less) .body-text:after{opacity:1}:host(limebb-feed-timeline-item.is-tall.shows-more) .markdown-container{grid-template-rows:1fr}:host(limebb-feed-timeline-item.is-tall.shows-more) #show-more-button limel-icon{rotate:180deg}.markdown-container{position:relative;display:grid}.markdown-container:not(.opened){transition:grid-template-rows min(var(--body-text-height) * 1.2ms, 500ms) cubic-bezier(1, 0.09, 0, 0.89)}.body-text{display:block;overflow:hidden}#show-more-button{all:unset;transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-normal);z-index:1;position:absolute;right:0;bottom:-0.6rem;left:0;margin:0 auto;display:flex;align-items:center;justify-content:center;border-radius:3rem;width:2rem;height:1rem}#show-more-button:hover,#show-more-button:focus,#show-more-button:focus-visible{will-change:color, background-color, box-shadow, transform}#show-more-button:hover{transform:translate3d(0, -0.04rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}#show-more-button:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}#show-more-button:hover,#show-more-button:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}#show-more-button:focus{outline:none}#show-more-button:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}#show-more-button limel-icon{transition:rotate 0.2s ease 0.5s;color:var(--mdc-theme-primary);width:0.75rem}:host(limebb-feed-timeline-item[ui=standard]) .content{background-color:rgb(var(--limebb-feed-item-background-color))}:host(limebb-feed-timeline-item[ui=emphasized]) .content{border:1px dashed rgb(var(--contrast-800))}:host(limebb-feed-timeline-item[ui=minimal]) limel-markdown{--markdown-hyperlink-color:rgb(var(--contrast-900))}:host(limebb-feed-timeline-item[ui=minimal]) limel-markdown:hover{--markdown-hyperlink-color:rgb(var(--color-blue-default))}:host(limebb-feed-timeline-item[ui=minimal]) a.author{color:rgb(var(--contrast-900))}:host(limebb-feed-timeline-item[ui=minimal]) .header:hover a.author{color:rgb(var(--color-blue-default))}:host(limebb-feed-timeline-item[ui=minimal]) .icon{color:rgb(var(--contrast-900)) !important}:host(limebb-feed-timeline-item[ui=minimal]) .body-text{color:rgb(var(--contrast-900))}:host(limebb-feed-timeline-item[ui=minimal]) .body-text:hover{color:rgb(var(--contrast-1100))}:host(limebb-feed-timeline-item[ui=thread-message]){margin-bottom:0.25rem}:host(limebb-feed-timeline-item[ui=thread-message]) .content{border-radius:0;box-shadow:var(--button-shadow-normal);margin-bottom:0.25rem;background-color:var(--lime-elevated-surface-background-color)}:host(limebb-feed-timeline-item[ui=thread-message]) .header{padding-bottom:0.75rem;margin-bottom:0.25rem}:host(limebb-feed-timeline-item[ui=thread-message]) .header:before{content:\"\";position:absolute;top:calc(var(--limebb-feed-item-paddings) * -1 + 0.25rem);left:calc(var(--limebb-feed-item-paddings) * -1);right:calc(var(--limebb-feed-item-paddings) * -1);bottom:0;pointer-events:none;border-bottom:1px dashed rgb(var(--contrast-600))}:host(limebb-feed-timeline-item[ui=thread-message]) .thread-effects{transition:transform 0.2s ease;pointer-events:none;content:\"\";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;box-shadow:var(--button-shadow-normal);transform:translate3d(-0.225rem, -0.125rem, 0) rotate(0.5deg);background-color:rgb(var(--contrast-300))}:host(limebb-feed-timeline-item.is-tall[ui=thread-message]) .body-text{--body-text-min-height-set-by-code:3rem;min-height:calc(var(--body-text-min-height-set-by-code) + 0.25rem);max-height:35rem}:host(limebb-feed-timeline-item.is-tall[ui=thread-message].shows-more) .body-text{overflow-y:auto}:host(limebb-feed-timeline-item[ui=error-message]) .icon{color:rgb(var(--color-red-default))}:host(limebb-feed-timeline-item[ui=error-message]) .content{border:1px dashed rgb(var(--color-red-light));background-color:rgb(var(--color-red-lighter), 0.2)}.content{position:relative}.content:before,.content:after{content:\"\";position:absolute;top:1rem;bottom:1rem;left:-0.125rem;width:0.25rem;border-radius:0.25rem}.content:before{background-color:var(--color-code)}:host(limebb-feed-timeline-item[ui=emphasized]) .content:before,:host(limebb-feed-timeline-item[ui=emphasized]) .content:after{left:calc(-0.125rem - 0.5px)}:host(limebb-feed-timeline-item[ui=minimal]) .content:before{opacity:0.25}:host(limebb-feed-timeline-item[ui=minimal]) .content:after{opacity:0.5;background:repeating-linear-gradient(45deg, var(--color-code), var(--color-code) 0.5rem, transparent 0.5rem, transparent 1rem);background-size:0.25rem 100%;background-repeat:repeat-y;background-position:left;rotate:180deg}:host(limebb-feed-timeline-item[ui=thread-message]) .content:before{top:0.25rem;bottom:unset;height:1.75rem}*{box-sizing:border-box}:host(limebb-feed-timeline-item){--limebb-feed-item-paddings:0.75rem;display:flex;gap:0.75rem;position:relative;isolation:isolate;border-radius:0.5rem}:host(limebb-feed-timeline-item[is-bundled]:hover){--limebb-feed-item-timestamp-opacity-delay:0.5s}:host(limebb-feed-timeline-item[is-bundled]:hover) .timestamp{opacity:1}:host(limebb-feed-timeline-item[is-bundled]) .timestamp{opacity:0}:host(limebb-feed-timeline-item:hover),:host(limebb-feed-timeline-item:focus),:host(limebb-feed-timeline-item:focus-within){--limebb-feed-item-timeline-color:var(--mdc-theme-primary);--limebb-feed-item-timestamp-color:var(--mdc-theme-primary)}.left:before{transition:background-color 0.2s ease;content:\"\";position:absolute;z-index:-1;top:-0.25rem;bottom:-0.25rem;left:1rem;width:1px;border-radius:1rem;background-color:var(--limebb-feed-item-timeline-color, rgb(var(--contrast-600)))}.info{position:sticky;top:0.5rem;display:flex;flex-direction:column;align-items:center;gap:0.25rem}.right,.content{display:flex;flex-direction:column;flex-grow:1;min-width:0}.content{border-radius:1rem;gap:0.25rem;padding:var(--limebb-feed-item-paddings)}.header{position:relative;display:flex;gap:0.25rem;padding-bottom:0.25rem;margin-top:-0.25rem;color:rgb(var(--contrast-900));font-size:0.875rem}:host(.has-unpromoted-actions) .header{padding-right:2rem}.header limel-markdown{--markdown-hyperlink-color:var(--mdc-theme-primary);--markdown-hyperlink-color--hovered:rgb(var(--color-teal-light))}.heading{flex-grow:1;overflow:hidden;white-space:nowrap}.heading.expanded-heading{white-space:normal}button.expand-heading{all:unset;transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:rgb(var(--color-blue-default));background-color:transparent;border-radius:1rem;padding:0 0.25rem 0.25rem 0.25rem;height:1rem;white-space:nowrap}button.expand-heading:hover,button.expand-heading:focus,button.expand-heading:focus-visible{will-change:color, background-color, box-shadow, transform}button.expand-heading:hover{transform:translate3d(0, 0.01rem, 0);color:rgb(var(--color-blue-default));background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}button.expand-heading:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}button.expand-heading:hover,button.expand-heading:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}button.collapse-heading{all:unset;transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-normal);flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:1.5rem;width:1rem}button.collapse-heading:hover,button.collapse-heading:focus,button.collapse-heading:focus-visible{will-change:color, background-color, box-shadow, transform}button.collapse-heading:hover{transform:translate3d(0, -0.04rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}button.collapse-heading:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}button.collapse-heading:hover,button.collapse-heading:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}button.collapse-heading:focus{outline:none}button.collapse-heading:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}button.collapse-heading limel-icon{width:0.75rem}.unpromoted-actions-menu{position:absolute;top:0;right:0;z-index:1}.timestamp{transition:color 0.4s ease, opacity 0.2s ease;transition-delay:var(--limebb-feed-item-timestamp-opacity-delay, 0s);font-size:0.75rem;text-align:center;color:var(--limebb-feed-item-timestamp-color, rgb(var(--contrast-800)));background-color:var(--limebb-feed-background-color);padding:0.125rem 0;width:2rem;border-radius:1rem}.icon{--icon-background-color:var(--limebb-feed-background-color);width:2rem;padding:0.125rem}:host(.has-author-picture) .icon{width:1.5rem}img{cursor:help;border-radius:50%;width:2rem;height:2rem;object-fit:cover;background-color:var(--limebb-feed-background-color);box-shadow:0 0 0 1px rgb(var(--contrast-600))}.author{font-weight:bold;text-decoration:none;white-space:nowrap}a.author{position:relative;cursor:pointer;transition:color 0.2s ease;color:var(--mdc-theme-primary)}a.author:before{transition:opacity 0.2s ease, transform 0.3s ease-out;content:\"\";position:absolute;inset:auto 0 0 0;width:calc(100% - 0.5rem);margin:auto;height:0.125rem;border-radius:1rem;background-color:currentColor;opacity:0;transform:scale(0.6)}a.author:hover{color:rgb(var(--color-teal-light))}a.author:hover:before{opacity:0.3;transform:scale(1)}limel-chip-set{--limel-chip-size:1.5rem;--button-shadow-normal:none;margin-left:-1rem;margin-bottom:-0.5rem}.helper-text{transition:opacity 0.2s ease;opacity:0.6;font-size:x-small;margin-top:0.5rem;margin-bottom:-0.25rem}:host(limebb-feed-timeline-item:hover) .helper-text,:host(limebb-feed-timeline-item:focus-within) .helper-text{opacity:1}:host(limebb-feed-timeline-item[has-error]:not([has-error=false])) .left:before{background-color:rgb(var(--color-red-default));box-shadow:0 0 0 1px rgb(var(--color-red-default))}:host(limebb-feed-timeline-item[has-error]:not([has-error=false])) img,:host(limebb-feed-timeline-item[has-error]:not([has-error=false])) .icon{box-shadow:var(--shadow-error-state)}:host(limebb-feed-timeline-item[has-error]:not([has-error=false])) .helper-text{opacity:1;color:rgb(var(--color-red-default))}";
7
7
  const LimebbFeedTimelineItemStyle0 = feedTimelineItemCss;
8
8
 
9
9
  const FeedTimelineItem = /*@__PURE__*/ proxyCustomElement(class FeedTimelineItem extends HTMLElement {
@@ -58,7 +58,6 @@ const FeedTimelineItem = /*@__PURE__*/ proxyCustomElement(class FeedTimelineItem
58
58
  return;
59
59
  }
60
60
  const height = entries[0].contentRect.height;
61
- // eslint-disable-next-line no-magic-numbers
62
61
  const maxHeight = this.isThreadMessage ? 48 : 160;
63
62
  this.isTall = height > maxHeight ? true : false;
64
63
  if (this.bodyTextHeight === undefined) {
@@ -183,7 +182,7 @@ const FeedTimelineItem = /*@__PURE__*/ proxyCustomElement(class FeedTimelineItem
183
182
  render() {
184
183
  var _a, _b;
185
184
  const helperTextId = `helper-text-${this.item.id}`;
186
- return (h(Host, { key: 'a817d7ace9ed8023eb26d846e5ad6839fe5e94a7', id: this.item.id, class: {
185
+ return (h(Host, { key: '39bafb2494964473834124c5ccc7eb0931af93a5', id: this.item.id, class: {
187
186
  'has-unpromoted-actions': !!((_a = this.item.unpromotedActions) === null || _a === void 0 ? void 0 : _a.length),
188
187
  'has-author-picture': !!((_b = this.item.author) === null || _b === void 0 ? void 0 : _b.picture),
189
188
  'shows-less': !this.showMore,
@@ -12,12 +12,12 @@ class HighlightFeedItemHandler {
12
12
  if (feeds.length === 0) {
13
13
  throw new Error(`No feed found containing item with id: ${command.itemId}`);
14
14
  }
15
- feeds.forEach((feed) => {
15
+ for (const feed of feeds) {
16
16
  if (feed.highlightedItemId === command.itemId) {
17
17
  feed.highlightedItemId = undefined;
18
18
  }
19
19
  feed.highlightedItemId = command.itemId;
20
- });
20
+ }
21
21
  }
22
22
  registerFeed(feed) {
23
23
  if (!this.feeds.includes(feed)) {
@@ -4,7 +4,7 @@ import { d as defineCustomElement$3 } from './kanban-item.js';
4
4
  import { d as defineCustomElement$2 } from './navigation-button.js';
5
5
  import { d as defineCustomElement$1 } from './summary-popover.js';
6
6
 
7
- const kanbanGroupCss = "@charset \"UTF-8\";:host(limebb-feed-timeline-item.is-tall) .markdown-container{margin-bottom:0.5rem}:host(limebb-feed-timeline-item.is-tall) .body-text{--body-text-min-height-set-by-code:10rem;min-height:calc(var(--body-text-min-height-set-by-code) + 0.25rem)}:host(limebb-feed-timeline-item.is-tall) .body-text:after{transition:opacity 0.6s ease;content:\"\";opacity:0.26;pointer-events:none;position:absolute;bottom:-0.125rem;right:-0.125rem;left:-0.125rem;height:2.5rem;background:radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0)) 0 100%, linear-gradient(to bottom, rgb(var(--limebb-feed-item-background-color), 0) 0%, rgb(var(--limebb-feed-item-background-color), 90%) 100%);background-repeat:no-repeat;background-size:100% 0.5rem, 100% 100%}:host(limebb-feed-timeline-item.is-tall.shows-less) .markdown-container{grid-template-rows:0fr}:host(limebb-feed-timeline-item.is-tall.shows-less) .body-text:after{opacity:1}:host(limebb-feed-timeline-item.is-tall.shows-more) .markdown-container{grid-template-rows:1fr}:host(limebb-feed-timeline-item.is-tall.shows-more) #show-more-button limel-icon{rotate:180deg}.markdown-container{position:relative;display:grid}.markdown-container:not(.opened){transition:grid-template-rows min(var(--body-text-height) * 1.2ms, 500ms) cubic-bezier(1, 0.09, 0, 0.89)}.body-text{display:block;overflow:hidden}#show-more-button{all:unset;transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-normal);z-index:1;position:absolute;right:0;bottom:-0.6rem;left:0;margin:0 auto;display:flex;align-items:center;justify-content:center;border-radius:3rem;width:2rem;height:1rem}#show-more-button:hover,#show-more-button:focus,#show-more-button:focus-visible{will-change:color, background-color, box-shadow, transform}#show-more-button:hover{transform:translate3d(0, -0.04rem, 0);color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}#show-more-button:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}#show-more-button:hover,#show-more-button:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}#show-more-button:focus{outline:none}#show-more-button:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}#show-more-button limel-icon{transition:rotate 0.2s ease 0.5s;color:var(--mdc-theme-primary);width:0.75rem}*{box-sizing:border-box}:host(limebb-kanban-group){position:relative;background-color:rgb(var(--limebb-kanban-group-primary-background));--header-top-right-left-border-radius:0.5rem;--limebb-kanban-group-secondary-background:var(--contrast-300);--limebb-kanban-group-primary-background:var(--contrast-600);scroll-snap-align:start;box-sizing:border-box;display:flex;flex-direction:column;border-radius:0.5rem}:host(limebb-kanban-group.secondary){border:1px dashed rgb(var(--contrast-700));background-color:rgb(var(--limebb-kanban-group-secondary-background))}:host(limebb-kanban-group.secondary) limebb-kanban-item{border:1px dashed rgb(var(--contrast-700))}:host(limebb-kanban-group.secondary) limel-header{background-color:rgb(var(--limebb-kanban-group-secondary-background))}limel-header{padding-right:0.5rem;background-color:rgb(var(--limebb-kanban-group-primary-background));width:22rem}limel-header:has(+.items:empty){width:10rem}limel-badge{--badge-background-color:rgb(var(--contrast-200))}limel-help{position:absolute;z-index:1;left:-0.25rem;top:-0.25rem}.group-summary{flex-shrink:0;padding:0 0.75rem 0.5rem 0.75rem;opacity:0.6;max-height:7rem;max-width:22rem;overflow-y:auto}.load-more-button,limel-spinner{align-self:center}.load-more-button{--icon-background-color:var(--lime-elevated-surface-background-color)}.items{--limel-overflow-mask-vertical:linear-gradient(\n to bottom,\n transparent 0%,\n black calc(0% + var(--limel-top-edge-fade-height, 1rem)),\n black calc(100% - var(--limel-bottom-edge-fade-height, 1rem)),\n transparent 100%\n );-webkit-mask-image:var(--limel-overflow-mask-vertical);mask-image:var(--limel-overflow-mask-vertical);padding-top:var(--limel-top-edge-fade-height, 1rem);padding-bottom:var(--limel-bottom-edge-fade-height, 1rem);--limel-top-edge-fade-height:0.5rem;--limel-bottom-edge-fade-height:2rem;flex-grow:1;display:flex;flex-direction:column;gap:0.75rem;padding:var(--limel-top-edge-fade-height) 0.5rem var(--limel-bottom-edge-fade-height) 0.5rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.items:not(:empty){width:22rem}limebb-kanban-item{transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color)}limebb-kanban-item:hover,limebb-kanban-item:focus,limebb-kanban-item:focus-visible{will-change:color, background-color, box-shadow, transform}limebb-kanban-item:hover{transform:translate3d(0, 0.01rem, 0);color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}limebb-kanban-item:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}limebb-kanban-item:hover,limebb-kanban-item:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}limebb-kanban-item:focus{outline:none}limebb-kanban-item:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}limebb-kanban-item.is-selected{box-shadow:var(--shadow-focused-state)}limebb-kanban-item.is-selected:hover{box-shadow:var(--shadow-focused-state), var(--button-shadow-hovered)}";
7
+ const kanbanGroupCss = "@charset \"UTF-8\";:host(limebb-feed-timeline-item.is-tall) .markdown-container{margin-bottom:0.5rem}:host(limebb-feed-timeline-item.is-tall) .body-text{--body-text-min-height-set-by-code:10rem;min-height:calc(var(--body-text-min-height-set-by-code) + 0.25rem)}:host(limebb-feed-timeline-item.is-tall) .body-text:after{transition:opacity 0.6s ease;content:\"\";opacity:0.26;pointer-events:none;position:absolute;bottom:-0.125rem;right:-0.125rem;left:-0.125rem;height:2.5rem;background:radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0)) 0 100%, linear-gradient(to bottom, rgb(var(--limebb-feed-item-background-color), 0) 0%, rgb(var(--limebb-feed-item-background-color), 90%) 100%);background-repeat:no-repeat;background-size:100% 0.5rem, 100% 100%}:host(limebb-feed-timeline-item.is-tall.shows-less) .markdown-container{grid-template-rows:0fr}:host(limebb-feed-timeline-item.is-tall.shows-less) .body-text:after{opacity:1}:host(limebb-feed-timeline-item.is-tall.shows-more) .markdown-container{grid-template-rows:1fr}:host(limebb-feed-timeline-item.is-tall.shows-more) #show-more-button limel-icon{rotate:180deg}.markdown-container{position:relative;display:grid}.markdown-container:not(.opened){transition:grid-template-rows min(var(--body-text-height) * 1.2ms, 500ms) cubic-bezier(1, 0.09, 0, 0.89)}.body-text{display:block;overflow:hidden}#show-more-button{all:unset;transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-normal);z-index:1;position:absolute;right:0;bottom:-0.6rem;left:0;margin:0 auto;display:flex;align-items:center;justify-content:center;border-radius:3rem;width:2rem;height:1rem}#show-more-button:hover,#show-more-button:focus,#show-more-button:focus-visible{will-change:color, background-color, box-shadow, transform}#show-more-button:hover{transform:translate3d(0, -0.04rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}#show-more-button:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}#show-more-button:hover,#show-more-button:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}#show-more-button:focus{outline:none}#show-more-button:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}#show-more-button limel-icon{transition:rotate 0.2s ease 0.5s;color:var(--mdc-theme-primary);width:0.75rem}*{box-sizing:border-box}:host(limebb-kanban-group){position:relative;background-color:rgb(var(--limebb-kanban-group-primary-background));--header-top-right-left-border-radius:0.5rem;--limebb-kanban-group-secondary-background:var(--contrast-300);--limebb-kanban-group-primary-background:var(--contrast-600);scroll-snap-align:start;box-sizing:border-box;display:flex;flex-direction:column;border-radius:0.5rem}:host(limebb-kanban-group.secondary){border:1px dashed rgb(var(--contrast-700));background-color:rgb(var(--limebb-kanban-group-secondary-background))}:host(limebb-kanban-group.secondary) limebb-kanban-item{border:1px dashed rgb(var(--contrast-700))}:host(limebb-kanban-group.secondary) limel-header{background-color:rgb(var(--limebb-kanban-group-secondary-background))}limel-header{padding-right:0.5rem;background-color:rgb(var(--limebb-kanban-group-primary-background));width:22rem}limel-header:has(+.items:empty){width:10rem}limel-badge{--badge-background-color:rgb(var(--contrast-200))}limel-help{position:absolute;z-index:1;left:-0.25rem;top:-0.25rem}.group-summary{flex-shrink:0;padding:0 0.75rem 0.5rem 0.75rem;opacity:0.6;max-height:7rem;max-width:22rem;overflow-y:auto}.load-more-button,limel-spinner{align-self:center}.load-more-button{--icon-background-color:var(--lime-elevated-surface-background-color)}.items{--limel-overflow-mask-vertical:linear-gradient(\n to bottom,\n transparent 0%,\n black calc(0% + var(--limel-top-edge-fade-height, 1rem)),\n black calc(100% - var(--limel-bottom-edge-fade-height, 1rem)),\n transparent 100%\n );-webkit-mask-image:var(--limel-overflow-mask-vertical);mask-image:var(--limel-overflow-mask-vertical);padding-top:var(--limel-top-edge-fade-height, 1rem);padding-bottom:var(--limel-bottom-edge-fade-height, 1rem);--limel-top-edge-fade-height:0.5rem;--limel-bottom-edge-fade-height:2rem;flex-grow:1;display:flex;flex-direction:column;gap:0.75rem;padding:var(--limel-top-edge-fade-height) 0.5rem var(--limel-bottom-edge-fade-height) 0.5rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.items:not(:empty){width:22rem}limebb-kanban-item{transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color)}limebb-kanban-item:hover,limebb-kanban-item:focus,limebb-kanban-item:focus-visible{will-change:color, background-color, box-shadow, transform}limebb-kanban-item:hover{transform:translate3d(0, 0.01rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}limebb-kanban-item:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}limebb-kanban-item:hover,limebb-kanban-item:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}limebb-kanban-item:focus{outline:none}limebb-kanban-item:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}limebb-kanban-item.is-selected{box-shadow:var(--shadow-focused-state)}limebb-kanban-item.is-selected:hover{box-shadow:var(--shadow-focused-state), var(--button-shadow-hovered)}";
8
8
  const LimebbKanbanGroupStyle0 = kanbanGroupCss;
9
9
 
10
10
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -3,7 +3,7 @@ import { c } from './index.esm.js';
3
3
  import { d as defineCustomElement$2 } from './navigation-button.js';
4
4
  import { d as defineCustomElement$1 } from './summary-popover.js';
5
5
 
6
- const kanbanItemCss = "@charset \"UTF-8\";*,*:before,*:after{box-sizing:border-box}:host(limebb-kanban-item){position:relative;box-sizing:border-box;display:flex;flex-direction:column;border-radius:0.5rem}:host(limebb-kanban-item):before{content:\"\";display:block;position:absolute;top:1rem;bottom:1rem;right:0;transform:translateX(50%);width:0.25rem;border-radius:1rem;background-color:var(--limebb-kanban-item-color-code)}.content{padding-top:0.25rem;min-height:3rem}.header{display:flex;align-items:flex-start;gap:0.5rem;min-height:1.75rem;padding:0.25rem 0.5rem;border-radius:0.5rem 0.5rem 0 0;background-color:rgb(var(--contrast-300))}.header a{position:relative;cursor:pointer;transition:color 0.2s ease;color:var(--mdc-theme-primary);text-decoration:none}.header a:before{transition:opacity 0.2s ease, transform 0.3s ease-out;content:\"\";position:absolute;inset:auto 0 0 0;width:calc(100% - 0.5rem);margin:auto;height:0.125rem;border-radius:1rem;background-color:currentColor;opacity:0;transform:scale(0.6)}.header a:hover{color:rgb(var(--color-teal-light))}.header a:hover:before{opacity:0.3;transform:scale(1)}.heading{--markdown-hyperlink-color:var(--mdc-theme-primary);--markdown-hyperlink-color--hovered:rgb(var(--color-teal-light))}.unpromoted-actions-menu{margin:-0.5rem -0.5rem -0.25rem auto}.body{display:block;padding:0.5rem;padding-top:0;color:rgb(var(--contrast-1100))}limel-chip-set{--limel-chip-size:1.5rem;display:block;margin-left:-0.5rem;margin-right:0.5rem;padding-bottom:0.5rem}.footer{position:relative;display:flex;align-items:center;gap:0.5rem;padding:0.25rem 0.25rem 0.125rem;margin:0 0.25rem;border-top:1px dashed rgb(var(--contrast-300))}.header limel-icon,.footer limel-icon{flex-shrink:0;width:1.25rem;height:1.25rem}.header .actions{margin:0.5rem 0.25rem 0}.header .actions:hover{transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-normal)}.header .actions:hover:hover,.header .actions:hover:focus,.header .actions:hover:focus-visible{will-change:color, background-color, box-shadow, transform}.header .actions:hover:hover{transform:translate3d(0, -0.04rem, 0);color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}.header .actions:hover:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}.header .actions:hover:hover,.header .actions:hover:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.footer img{border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgb(var(--contrast-800), 0.4);flex-shrink:0;width:1.25rem;height:1.25rem}.assignees{display:flex;align-items:center;gap:0.25rem}.assignees:has(>:nth-child(2)) span{display:none}.assignees:has(>:nth-child(2)) img,.assignees:has(>:nth-child(2)) limel-icon{margin-right:-0.5rem}.assignees:hover img,.assignees:hover limel-icon,.assignees:focus-within img,.assignees:focus-within limel-icon{margin-right:0rem}.assignees:hover .assignee:not(:hover):not(:focus-visible) img,.assignees:hover .assignee:not(:hover):not(:focus-visible) limel-icon,.assignees:focus-within .assignee:not(:hover):not(:focus-visible) img,.assignees:focus-within .assignee:not(:hover):not(:focus-visible) limel-icon{filter:grayscale(1);opacity:0.6}.assignee{transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--mdc-theme-on-surface);background-color:transparent;display:flex;align-items:center;text-decoration:none;gap:0.25rem;margin-left:0;border-radius:1rem}.assignee:hover,.assignee:focus,.assignee:focus-visible{will-change:color, background-color, box-shadow, transform}.assignee:hover{transform:translate3d(0, 0.01rem, 0);color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}.assignee:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}.assignee:hover,.assignee:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.assignee:focus{outline:none}.assignee:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}.assignee limel-icon,.assignee img{transition:margin 0.2s ease, opacity 0.2s ease, filter 0.2s ease}.assignee limel-icon{padding:0.125rem;box-shadow:0 0 0 1px rgb(var(--contrast-800), 0.4);background-color:rgb(var(--contrast-100))}.assignee span{font-size:0.75rem;color:rgb(var(--contrast-900));padding-right:0.5rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}";
6
+ const kanbanItemCss = "@charset \"UTF-8\";*,*:before,*:after{box-sizing:border-box}:host(limebb-kanban-item){position:relative;box-sizing:border-box;display:flex;flex-direction:column;border-radius:0.5rem}:host(limebb-kanban-item):before{content:\"\";display:block;position:absolute;top:1rem;bottom:1rem;right:0;transform:translateX(50%);width:0.25rem;border-radius:1rem;background-color:var(--limebb-kanban-item-color-code)}.content{padding-top:0.25rem;min-height:3rem}.header{display:flex;align-items:flex-start;gap:0.5rem;min-height:1.75rem;padding:0.25rem 0.5rem;border-radius:0.5rem 0.5rem 0 0;background-color:rgb(var(--contrast-300))}.header a{position:relative;cursor:pointer;transition:color 0.2s ease;color:var(--mdc-theme-primary);text-decoration:none}.header a:before{transition:opacity 0.2s ease, transform 0.3s ease-out;content:\"\";position:absolute;inset:auto 0 0 0;width:calc(100% - 0.5rem);margin:auto;height:0.125rem;border-radius:1rem;background-color:currentColor;opacity:0;transform:scale(0.6)}.header a:hover{color:rgb(var(--color-teal-light))}.header a:hover:before{opacity:0.3;transform:scale(1)}.heading{--markdown-hyperlink-color:var(--mdc-theme-primary);--markdown-hyperlink-color--hovered:rgb(var(--color-teal-light))}.unpromoted-actions-menu{margin:-0.5rem -0.5rem -0.25rem auto}.body{display:block;padding:0.5rem;padding-top:0;color:rgb(var(--contrast-1100))}limel-chip-set{--limel-chip-size:1.5rem;display:block;margin-left:-0.5rem;margin-right:0.5rem;padding-bottom:0.5rem}.footer{position:relative;display:flex;align-items:center;gap:0.5rem;padding:0.25rem 0.25rem 0.125rem;margin:0 0.25rem;border-top:1px dashed rgb(var(--contrast-300))}.header limel-icon,.footer limel-icon{flex-shrink:0;width:1.25rem;height:1.25rem}.header .actions{margin:0.5rem 0.25rem 0}.header .actions:hover{transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-normal)}.header .actions:hover:hover,.header .actions:hover:focus,.header .actions:hover:focus-visible{will-change:color, background-color, box-shadow, transform}.header .actions:hover:hover{transform:translate3d(0, -0.04rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}.header .actions:hover:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}.header .actions:hover:hover,.header .actions:hover:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.footer img{border-radius:50%;object-fit:cover;box-shadow:0 0 0 1px rgb(var(--contrast-800), 0.4);flex-shrink:0;width:1.25rem;height:1.25rem}.assignees{display:flex;align-items:center;gap:0.25rem}.assignees:has(>:nth-child(2)) span{display:none}.assignees:has(>:nth-child(2)) img,.assignees:has(>:nth-child(2)) limel-icon{margin-right:-0.5rem}.assignees:hover img,.assignees:hover limel-icon,.assignees:focus-within img,.assignees:focus-within limel-icon{margin-right:0rem}.assignees:hover .assignee:not(:hover):not(:focus-visible) img,.assignees:hover .assignee:not(:hover):not(:focus-visible) limel-icon,.assignees:focus-within .assignee:not(:hover):not(:focus-visible) img,.assignees:focus-within .assignee:not(:hover):not(:focus-visible) limel-icon{filter:grayscale(1);opacity:0.6}.assignee{transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--limel-theme-on-surface-color);background-color:transparent;display:flex;align-items:center;text-decoration:none;gap:0.25rem;margin-left:0;border-radius:1rem}.assignee:hover,.assignee:focus,.assignee:focus-visible{will-change:color, background-color, box-shadow, transform}.assignee:hover{transform:translate3d(0, 0.01rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}.assignee:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}.assignee:hover,.assignee:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.assignee:focus{outline:none}.assignee:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}.assignee limel-icon,.assignee img{transition:margin 0.2s ease, opacity 0.2s ease, filter 0.2s ease}.assignee limel-icon{padding:0.125rem;box-shadow:0 0 0 1px rgb(var(--contrast-800), 0.4);background-color:rgb(var(--contrast-100))}.assignee span{font-size:0.75rem;color:rgb(var(--contrast-900));padding-right:0.5rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}";
7
7
  const LimebbKanbanItemStyle0 = kanbanItemCss;
8
8
 
9
9
  const KanbanItemComponent = /*@__PURE__*/ proxyCustomElement(class KanbanItemComponent extends HTMLElement {
@@ -6,11 +6,11 @@ import { d as defineCustomElement$2 } from './typing-indicator.js';
6
6
  /**
7
7
  * Processes a list of notifications by adding date headers and a "new items" indicator.
8
8
  *
9
- * @param {ChatItem[]} items - The list of notification items to process. These items must be pre-sorted by their `timestamp` in descending order.
10
- * @param {DateTimeFormatter} dateTimeFormatter - A service used to format dates for the date headers.
11
- * @param {Date | null} lastVisitedTimestamp - The timestamp of the user's last visit. This is used to determine where the "new items" indicator should be placed.
9
+ * @param items - The list of notification items to process. These items must be pre-sorted by their `timestamp` in descending order.
10
+ * @param dateTimeFormatter - A service used to format dates for the date headers.
11
+ * @param lastVisitedTimestamp - The timestamp of the user's last visit. This is used to determine where the "new items" indicator should be placed.
12
12
  *
13
- * @returns {ProcessedItem[]} An array of processed items, including notifications, date headers, and a "new items" indicator if applicable.
13
+ * @returns An array of processed items, including notifications, date headers, and a "new items" indicator if applicable.
14
14
  *
15
15
  * @example
16
16
  * const processedItems = processNotificationItems(
@@ -49,18 +49,27 @@ function processChatItems(items, dateTimeFormatter, lastVisitedTimestamp) {
49
49
  return finalContext.processedItems;
50
50
  }
51
51
  function createPipeline(initialContext, processors) {
52
+ // eslint-disable-next-line unicorn/no-array-reduce
52
53
  return processors.reduce((context, processor) => processor(context), initialContext);
53
54
  }
55
+ /**
56
+ *
57
+ * @param context
58
+ */
54
59
  function insertNotifications(context) {
55
- context.items.forEach((item) => {
60
+ for (const item of context.items) {
56
61
  context.processedItems.push({ type: 'chat', item: item });
57
- });
62
+ }
58
63
  return context;
59
64
  }
65
+ /**
66
+ *
67
+ * @param context
68
+ */
60
69
  function insertNewItemIndicator(context) {
61
70
  const processedWithIndicator = [];
62
71
  let newItemIndicatorInserted = context.newItemIndicatorInserted;
63
- context.processedItems.forEach((item) => {
72
+ for (const item of context.processedItems) {
64
73
  if (item.type === 'chat' &&
65
74
  context.lastVisitedTimestamp &&
66
75
  !newItemIndicatorInserted &&
@@ -72,11 +81,16 @@ function insertNewItemIndicator(context) {
72
81
  }
73
82
  // Push the current item to the new array
74
83
  processedWithIndicator.push(item);
75
- });
84
+ }
76
85
  context.processedItems = processedWithIndicator;
77
86
  context.newItemIndicatorInserted = newItemIndicatorInserted;
78
87
  return context;
79
88
  }
89
+ /**
90
+ *
91
+ * @param context
92
+ */
93
+ // eslint-disable-next-line sonarjs/cognitive-complexity
80
94
  function insertDateGroups(context) {
81
95
  const newProcessedItems = [];
82
96
  let currentGroup = null;
@@ -162,9 +176,10 @@ const ChatList = /*@__PURE__*/ proxyCustomElement(class ChatList extends HTMLEle
162
176
  this.handleItemsChange();
163
177
  }
164
178
  render() {
165
- return (h(Host, { key: '7b7df58ebe16c77e0157f7f4e8727bc4c8e7babd', class: {
166
- 'is-empty': !this.items.length && !this.isTypingIndicatorVisible,
167
- }, "aria-busy": this.isBusy(), role: "log" }, this.renderSpinner(), h("div", { key: '6405e99a6022133386c6857851802e830a9256df', class: "typing-indicator-height-animation" }, h("div", { key: 'c120e891885f4f75e37121a03f8ee5ac119c0684' }, this.renderTypingIndicator())), this.renderChatItems()));
179
+ return (h(Host, { key: '3412d92c13b51ad457ec2b070de46cd29372ce0b', class: {
180
+ 'is-empty': this.items.length === 0 &&
181
+ !this.isTypingIndicatorVisible,
182
+ }, "aria-busy": this.isBusy(), role: "log" }, this.renderSpinner(), h("div", { key: '5d87e57a497b5eeae2e2765a1d594aa54222dc0d', class: "typing-indicator-height-animation" }, h("div", { key: '6c430baf03095c83e032cc9c6680d2a897132cb0' }, this.renderTypingIndicator())), this.renderChatItems()));
168
183
  }
169
184
  renderSpinner() {
170
185
  if (!this.loading) {
@@ -181,12 +196,15 @@ const ChatList = /*@__PURE__*/ proxyCustomElement(class ChatList extends HTMLEle
181
196
  renderChatItems() {
182
197
  return this.processedItems.map((item) => {
183
198
  switch (item.type) {
184
- case 'group':
199
+ case 'group': {
185
200
  return this.renderGroup(item);
186
- case 'newItemIndicator':
201
+ }
202
+ case 'newItemIndicator': {
187
203
  return this.renderIndicator();
188
- default:
204
+ }
205
+ default: {
189
206
  return null;
207
+ }
190
208
  }
191
209
  });
192
210
  }
@@ -113,7 +113,9 @@ const ComponentConfig = /*@__PURE__*/ proxyCustomElement(class ComponentConfig e
113
113
  }
114
114
  renderConfigComponent() {
115
115
  var _a, _b;
116
- return (h(LimeWebComponentTemplate, { class: "config-component", platform: this.platform, context: this.context, name: (_a = this.configComponent) === null || _a === void 0 ? void 0 : _a.name, props: Object.assign(Object.assign({}, (_b = this.configComponent) === null || _b === void 0 ? void 0 : _b.props), { value: this.value, required: this.required, readonly: this.readonly, disabled: this.disabled, label: this.label, helperText: this.helperText, formInfo: this.formInfo }) }));
116
+ return (h(LimeWebComponentTemplate, { class: "config-component", platform: this.platform, context: this.context,
117
+ // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain
118
+ name: (_a = this.configComponent) === null || _a === void 0 ? void 0 : _a.name, props: Object.assign(Object.assign({}, (_b = this.configComponent) === null || _b === void 0 ? void 0 : _b.props), { value: this.value, required: this.required, readonly: this.readonly, disabled: this.disabled, label: this.label, helperText: this.helperText, formInfo: this.formInfo }) }));
117
119
  }
118
120
  getNameField() {
119
121
  if (this.nameField) {
@@ -307,7 +307,7 @@ const Feed = /*@__PURE__*/ proxyCustomElement(class Feed extends HTMLElement {
307
307
  return h("a", { class: "date-heading" }, currentIndexDate);
308
308
  }
309
309
  renderLoadMore() {
310
- if (!this.items.length || this.totalCount <= this.items.length) {
310
+ if (this.items.length === 0 || this.totalCount <= this.items.length) {
311
311
  return;
312
312
  }
313
313
  return (h("limel-icon-button", { class: "load-more-button", icon: "more", onClick: this.handleLoadMore, elevated: true, label: this.loadMoreLabel }));
@@ -10631,11 +10631,6 @@ const icons = [
10631
10631
  tags: [
10632
10632
  ]
10633
10633
  },
10634
- {
10635
- id: "high_priority_message_92854.svg",
10636
- tags: [
10637
- ]
10638
- },
10639
10634
  {
10640
10635
  id: "high_priority_message_93167.svg",
10641
10636
  tags: [
@@ -52895,6 +52890,11 @@ const icons = [
52895
52890
  }
52896
52891
  ];
52897
52892
 
52893
+ /**
52894
+ *
52895
+ * @param query
52896
+ * @param icons
52897
+ */
52898
52898
  function findIcons(query, icons) {
52899
52899
  const MAX_HITS = 20;
52900
52900
  const lowerCaseQuery = query.toLowerCase();
@@ -52905,6 +52905,10 @@ function findIcons(query, icons) {
52905
52905
  })
52906
52906
  .slice(0, MAX_HITS);
52907
52907
  }
52908
+ /**
52909
+ *
52910
+ * @param icon
52911
+ */
52908
52912
  function createListItem(icon) {
52909
52913
  const name = icon.id.replace('.svg', '');
52910
52914
  return {
@@ -11,7 +11,7 @@ const InfoTileAdminConfig = /*@__PURE__*/ proxyCustomElement(class InfoTileAdmin
11
11
  this.change = createEvent(this, "change", 7);
12
12
  this.getOptionValue = (option) => option.value || undefined;
13
13
  this.getAffixValue = (options) => {
14
- if (!options.length) {
14
+ if (options.length === 0) {
15
15
  return [];
16
16
  }
17
17
  return options.map((o) => o.value);