@limetech/lime-crm-building-blocks 1.115.0 → 1.116.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 (203) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
  3. package/dist/cjs/{limebb-chat-item_2.cjs.entry.js → limebb-chat-icon-list_3.cjs.entry.js} +39 -3
  4. package/dist/cjs/limebb-chat-list.cjs.entry.js +37 -35
  5. package/dist/cjs/limebb-component-picker.cjs.entry.js +18 -14
  6. package/dist/cjs/limebb-composer-toolbar.cjs.entry.js +2 -2
  7. package/dist/cjs/limebb-currency-picker.cjs.entry.js +1 -1
  8. package/dist/cjs/limebb-dashboard-widget.cjs.entry.js +1 -1
  9. package/dist/cjs/limebb-date-picker.cjs.entry.js +1 -1
  10. package/dist/cjs/limebb-date-range.cjs.entry.js +1 -1
  11. package/dist/cjs/limebb-document-chips.cjs.entry.js +1 -1
  12. package/dist/cjs/limebb-document-item.cjs.entry.js +2 -2
  13. package/dist/cjs/limebb-document-picker.cjs.entry.js +1 -1
  14. package/dist/cjs/limebb-feed-item-thumbnail-file-info.cjs.entry.js +1 -1
  15. package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +1 -1
  16. package/dist/cjs/limebb-feed.cjs.entry.js +1 -1
  17. package/dist/cjs/limebb-icon-picker.cjs.entry.js +1 -1
  18. package/dist/cjs/limebb-info-tile-format.cjs.entry.js +1 -1
  19. package/dist/cjs/limebb-info-tile.cjs.entry.js +1 -1
  20. package/dist/cjs/limebb-kanban-group.cjs.entry.js +1 -1
  21. package/dist/cjs/limebb-kanban-item.cjs.entry.js +1 -1
  22. package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +1 -1
  23. package/dist/cjs/limebb-lime-query-filter-builder_3.cjs.entry.js +2 -2
  24. package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +1 -1
  25. package/dist/cjs/limebb-lime-query-filter-group_3.cjs.entry.js +3 -3
  26. package/dist/cjs/limebb-lime-query-order-by-item.cjs.entry.js +2 -2
  27. package/dist/cjs/limebb-lime-query-response-format-builder.cjs.entry.js +1 -1
  28. package/dist/cjs/limebb-lime-query-response-format-editor_2.cjs.entry.js +1 -1
  29. package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
  30. package/dist/cjs/limebb-locale-picker.cjs.entry.js +1 -1
  31. package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
  32. package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +2 -2
  33. package/dist/cjs/limebb-notification-item.cjs.entry.js +1 -1
  34. package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +2 -2
  35. package/dist/cjs/limebb-text-editor.cjs.entry.js +1 -1
  36. package/dist/cjs/limebb-trend-indicator.cjs.entry.js +1 -1
  37. package/dist/cjs/loader.cjs.js +1 -1
  38. package/dist/collection/collection-manifest.json +1 -0
  39. package/dist/collection/components/chat-list/chat-icon-list/chat-icon-list.css +199 -0
  40. package/dist/collection/components/chat-list/chat-icon-list/chat-icon-list.js +74 -0
  41. package/dist/collection/components/chat-list/chat-icon-list/chat-icon-list.types.js +1 -0
  42. package/dist/collection/components/chat-list/chat-item/chat-item.js +2 -2
  43. package/dist/collection/components/chat-list/chat-list.js +18 -8
  44. package/dist/collection/components/chat-list/chat-list.types.js +1 -0
  45. package/dist/collection/components/chat-list/process-chat-items.js +26 -33
  46. package/dist/collection/components/chat-list/typing-indicator/typing-indicator.js +1 -1
  47. package/dist/collection/components/component-command-picker/component-picker/component-picker.js +18 -14
  48. package/dist/collection/components/composer-toolbar/composer-toolbar.js +2 -2
  49. package/dist/collection/components/currency-picker/currency-picker.js +1 -1
  50. package/dist/collection/components/dashboard-widget/dashboard-widget.js +1 -1
  51. package/dist/collection/components/date-picker/date-picker.js +1 -1
  52. package/dist/collection/components/date-range/date-range.js +1 -1
  53. package/dist/collection/components/document-chips/document-chips.js +1 -1
  54. package/dist/collection/components/document-picker/document-item/document-item.js +2 -2
  55. package/dist/collection/components/document-picker/document-picker.js +1 -1
  56. package/dist/collection/components/feed/feed-item/feed-timeline-item.js +1 -1
  57. package/dist/collection/components/feed/feed-item-thumbnail-file-info/feed-item-thumbnail-file-info.js +1 -1
  58. package/dist/collection/components/feed/feed.js +1 -1
  59. package/dist/collection/components/icon-picker/icon-picker.js +1 -1
  60. package/dist/collection/components/info-tile/format/config/info-tile-format.js +1 -1
  61. package/dist/collection/components/info-tile/info-tile.js +1 -1
  62. package/dist/collection/components/kanban/kanban-group/kanban-group.js +1 -1
  63. package/dist/collection/components/kanban/kanban-item/kanban-item.js +1 -1
  64. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +1 -1
  65. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js +2 -2
  66. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +1 -1
  67. package/dist/collection/components/lime-query-builder/lime-query-builder.js +1 -1
  68. package/dist/collection/components/lime-query-builder/lime-query-response-format-builder.js +1 -1
  69. package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +1 -1
  70. package/dist/collection/components/lime-query-builder/order-by/order-by-editor.js +1 -1
  71. package/dist/collection/components/lime-query-builder/order-by/order-by-item.js +2 -2
  72. package/dist/collection/components/lime-query-builder/response-format/response-format-item.js +1 -1
  73. package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
  74. package/dist/collection/components/locale-picker/locale-picker.js +1 -1
  75. package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
  76. package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
  77. package/dist/collection/components/summary-popover/summary-popover.js +2 -2
  78. package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
  79. package/dist/collection/components/text-editor/text-editor.js +1 -1
  80. package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
  81. package/dist/components/chat-icon-list.js +55 -0
  82. package/dist/components/chat-item.js +2 -2
  83. package/dist/components/currency-picker.js +1 -1
  84. package/dist/components/date-picker.js +1 -1
  85. package/dist/components/document-item.js +2 -2
  86. package/dist/components/feed-item-thumbnail-file-info.js +1 -1
  87. package/dist/components/feed-timeline-item.js +1 -1
  88. package/dist/components/kanban-group.js +1 -1
  89. package/dist/components/kanban-item.js +1 -1
  90. package/dist/components/lime-query-filter-comparison.js +1 -1
  91. package/dist/components/lime-query-filter-expression.js +3 -3
  92. package/dist/components/limebb-chat-icon-list.d.ts +11 -0
  93. package/dist/components/limebb-chat-icon-list.js +6 -0
  94. package/dist/components/limebb-chat-list.js +44 -36
  95. package/dist/components/limebb-component-picker.js +18 -14
  96. package/dist/components/limebb-composer-toolbar.js +2 -2
  97. package/dist/components/limebb-dashboard-widget.js +1 -1
  98. package/dist/components/limebb-date-range.js +1 -1
  99. package/dist/components/limebb-document-chips.js +1 -1
  100. package/dist/components/limebb-document-picker.js +1 -1
  101. package/dist/components/limebb-feed.js +1 -1
  102. package/dist/components/limebb-icon-picker.js +1 -1
  103. package/dist/components/limebb-info-tile-format.js +1 -1
  104. package/dist/components/limebb-info-tile.js +1 -1
  105. package/dist/components/limebb-lime-query-builder.js +1 -1
  106. package/dist/components/limebb-lime-query-response-format-builder.js +1 -1
  107. package/dist/components/limebb-locale-picker.js +1 -1
  108. package/dist/components/limebb-mention-group-counter.js +2 -2
  109. package/dist/components/limebb-text-editor.js +1 -1
  110. package/dist/components/limebb-trend-indicator.js +1 -1
  111. package/dist/components/limetype-field.js +1 -1
  112. package/dist/components/live-docs-info.js +2 -2
  113. package/dist/components/notification-item.js +1 -1
  114. package/dist/components/order-by-editor.js +1 -1
  115. package/dist/components/order-by-item.js +2 -2
  116. package/dist/components/percentage-visualizer.js +2 -2
  117. package/dist/components/response-format-item.js +1 -1
  118. package/dist/components/summary-popover.js +2 -2
  119. package/dist/components/typing-indicator.js +1 -1
  120. package/dist/esm/lime-crm-building-blocks.js +1 -1
  121. package/dist/esm/{limebb-chat-item_2.entry.js → limebb-chat-icon-list_3.entry.js} +39 -4
  122. package/dist/esm/limebb-chat-list.entry.js +37 -35
  123. package/dist/esm/limebb-component-picker.entry.js +18 -14
  124. package/dist/esm/limebb-composer-toolbar.entry.js +2 -2
  125. package/dist/esm/limebb-currency-picker.entry.js +1 -1
  126. package/dist/esm/limebb-dashboard-widget.entry.js +1 -1
  127. package/dist/esm/limebb-date-picker.entry.js +1 -1
  128. package/dist/esm/limebb-date-range.entry.js +1 -1
  129. package/dist/esm/limebb-document-chips.entry.js +1 -1
  130. package/dist/esm/limebb-document-item.entry.js +2 -2
  131. package/dist/esm/limebb-document-picker.entry.js +1 -1
  132. package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
  133. package/dist/esm/limebb-feed-timeline-item.entry.js +1 -1
  134. package/dist/esm/limebb-feed.entry.js +1 -1
  135. package/dist/esm/limebb-icon-picker.entry.js +1 -1
  136. package/dist/esm/limebb-info-tile-format.entry.js +1 -1
  137. package/dist/esm/limebb-info-tile.entry.js +1 -1
  138. package/dist/esm/limebb-kanban-group.entry.js +1 -1
  139. package/dist/esm/limebb-kanban-item.entry.js +1 -1
  140. package/dist/esm/limebb-lime-query-builder.entry.js +1 -1
  141. package/dist/esm/limebb-lime-query-filter-builder_3.entry.js +2 -2
  142. package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +1 -1
  143. package/dist/esm/limebb-lime-query-filter-group_3.entry.js +3 -3
  144. package/dist/esm/limebb-lime-query-order-by-item.entry.js +2 -2
  145. package/dist/esm/limebb-lime-query-response-format-builder.entry.js +1 -1
  146. package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +1 -1
  147. package/dist/esm/limebb-live-docs-info.entry.js +2 -2
  148. package/dist/esm/limebb-locale-picker.entry.js +1 -1
  149. package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
  150. package/dist/esm/limebb-navigation-button_2.entry.js +2 -2
  151. package/dist/esm/limebb-notification-item.entry.js +1 -1
  152. package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
  153. package/dist/esm/limebb-text-editor.entry.js +1 -1
  154. package/dist/esm/limebb-trend-indicator.entry.js +1 -1
  155. package/dist/esm/loader.js +1 -1
  156. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  157. package/dist/lime-crm-building-blocks/{p-22fffe85.entry.js → p-0190354e.entry.js} +1 -1
  158. package/dist/lime-crm-building-blocks/{p-375f40d9.entry.js → p-0707d5b0.entry.js} +1 -1
  159. package/dist/lime-crm-building-blocks/{p-a7e55181.entry.js → p-121877f3.entry.js} +1 -1
  160. package/dist/lime-crm-building-blocks/{p-8c3f563e.entry.js → p-1317cdfa.entry.js} +1 -1
  161. package/dist/lime-crm-building-blocks/{p-4066e17a.entry.js → p-1a89328d.entry.js} +1 -1
  162. package/dist/lime-crm-building-blocks/{p-7b5a1e83.entry.js → p-1b361f60.entry.js} +1 -1
  163. package/dist/lime-crm-building-blocks/{p-18d1ab86.entry.js → p-2612f2f6.entry.js} +1 -1
  164. package/dist/lime-crm-building-blocks/{p-9c334694.entry.js → p-2babfa69.entry.js} +1 -1
  165. package/dist/lime-crm-building-blocks/p-2d5e5ab5.entry.js +1 -0
  166. package/dist/lime-crm-building-blocks/{p-2ed843e9.entry.js → p-331fced5.entry.js} +1 -1
  167. package/dist/lime-crm-building-blocks/{p-3a7b37cc.entry.js → p-3a16d7cf.entry.js} +1 -1
  168. package/dist/lime-crm-building-blocks/{p-4dad4ce8.entry.js → p-3dd32e10.entry.js} +1 -1
  169. package/dist/lime-crm-building-blocks/{p-d7fc530f.entry.js → p-4894ca5d.entry.js} +1 -1
  170. package/dist/lime-crm-building-blocks/{p-6bf1ab6d.entry.js → p-4eb7a47c.entry.js} +1 -1
  171. package/dist/lime-crm-building-blocks/p-50abea43.entry.js +1 -0
  172. package/dist/lime-crm-building-blocks/{p-812bf26e.entry.js → p-520df198.entry.js} +1 -1
  173. package/dist/lime-crm-building-blocks/{p-94e6f0de.entry.js → p-5277ceca.entry.js} +1 -1
  174. package/dist/lime-crm-building-blocks/{p-9c204549.entry.js → p-548e0f2a.entry.js} +1 -1
  175. package/dist/lime-crm-building-blocks/{p-7a6c1595.entry.js → p-6fb504cb.entry.js} +1 -1
  176. package/dist/lime-crm-building-blocks/{p-81f8e5df.entry.js → p-7365ec1c.entry.js} +1 -1
  177. package/dist/lime-crm-building-blocks/{p-103654ac.entry.js → p-85709273.entry.js} +1 -1
  178. package/dist/lime-crm-building-blocks/p-87d3f42c.entry.js +1 -0
  179. package/dist/lime-crm-building-blocks/{p-d5b835a6.entry.js → p-8dca4e46.entry.js} +1 -1
  180. package/dist/lime-crm-building-blocks/p-9c25aa2b.entry.js +1 -0
  181. package/dist/lime-crm-building-blocks/{p-dddd8a43.entry.js → p-a959dd49.entry.js} +1 -1
  182. package/dist/lime-crm-building-blocks/{p-20b5ff30.entry.js → p-b2763851.entry.js} +1 -1
  183. package/dist/lime-crm-building-blocks/{p-d9f76810.entry.js → p-b3ad9f5e.entry.js} +1 -1
  184. package/dist/lime-crm-building-blocks/{p-53d54dc8.entry.js → p-d9045aaa.entry.js} +1 -1
  185. package/dist/lime-crm-building-blocks/{p-9bc5caac.entry.js → p-d994067b.entry.js} +1 -1
  186. package/dist/lime-crm-building-blocks/{p-f31eeeaa.entry.js → p-da42650a.entry.js} +1 -1
  187. package/dist/lime-crm-building-blocks/{p-0d0f4c0f.entry.js → p-dae67f66.entry.js} +1 -1
  188. package/dist/lime-crm-building-blocks/{p-3b3e7328.entry.js → p-dce9c951.entry.js} +1 -1
  189. package/dist/lime-crm-building-blocks/{p-0eac6b68.entry.js → p-dd5af257.entry.js} +1 -1
  190. package/dist/lime-crm-building-blocks/{p-6bd5c65f.entry.js → p-ea4daa32.entry.js} +1 -1
  191. package/dist/types/components/chat-list/chat-icon-list/chat-icon-list.d.ts +19 -0
  192. package/dist/types/components/chat-list/chat-icon-list/chat-icon-list.types.d.ts +52 -0
  193. package/dist/types/components/chat-list/chat-list.d.ts +7 -2
  194. package/dist/types/components/chat-list/chat-list.types.d.ts +13 -0
  195. package/dist/types/components/chat-list/process-chat-items.d.ts +20 -28
  196. package/dist/types/components/component-command-picker/component-picker/component-picker.d.ts +1 -0
  197. package/dist/types/components.d.ts +57 -4
  198. package/dist/types/interface.d.ts +2 -0
  199. package/package.json +2 -2
  200. package/dist/lime-crm-building-blocks/p-20939cd4.entry.js +0 -1
  201. package/dist/lime-crm-building-blocks/p-703fa2fe.entry.js +0 -1
  202. package/dist/lime-crm-building-blocks/p-7f72be40.entry.js +0 -1
  203. package/dist/lime-crm-building-blocks/p-a954d06e.entry.js +0 -1
@@ -14,6 +14,7 @@ import { processChatItems, } from "./process-chat-items";
14
14
  * @exampleComponent limebb-example-chat-list-with-promoted-action
15
15
  * @exampleComponent limebb-example-chat-list-with-helper-text
16
16
  * @exampleComponent limebb-example-chat-list-with-error
17
+ * @exampleComponent limebb-example-chat-list-with-icon-list
17
18
  * @beta
18
19
  */
19
20
  export class ChatList {
@@ -21,6 +22,9 @@ export class ChatList {
21
22
  /**
22
23
  * List of items to display in the feed.
23
24
  * These items must be sorted by their `timestamp` in descending order.
25
+ *
26
+ * See the [ChatListItem](#/type/ChatListItem/) type for the kinds of
27
+ * items that can appear in the list.
24
28
  */
25
29
  this.items = [];
26
30
  /**
@@ -50,10 +54,10 @@ export class ChatList {
50
54
  this.handleItemsChange();
51
55
  }
52
56
  render() {
53
- return (h(Host, { key: '1aa955956f1efb361777c52b27047a3169bb7492', class: {
57
+ return (h(Host, { key: '5eb5b8dde1fbec07b3c125752f561180ecbf2d71', class: {
54
58
  'is-empty': this.items.length === 0 &&
55
59
  !this.isTypingIndicatorVisible,
56
- }, "aria-busy": this.isBusy(), role: "log" }, this.renderSpinner(), h("div", { key: 'ca0412d181544f901b0741ce5753aba56cf35081', class: "typing-indicator-height-animation" }, h("div", { key: '107508f3a978f7cd8dd671fa12d6a57c86e8af82' }, this.renderTypingIndicator())), this.renderChatItems()));
60
+ }, "aria-busy": this.isBusy(), role: "log" }, this.renderSpinner(), h("div", { key: '706e0fe4eeb8f8afa40849b0422db06823614697', class: "typing-indicator-height-animation" }, h("div", { key: '6232ce470ae6ef21a87565ceb50f7cb9e3e251e5' }, this.renderTypingIndicator())), this.renderChatItems()));
57
61
  }
58
62
  renderSpinner() {
59
63
  if (!this.loading) {
@@ -87,6 +91,9 @@ export class ChatList {
87
91
  if (item.type === 'chat') {
88
92
  return this.renderChatItem(item.item);
89
93
  }
94
+ else if (item.type === 'iconList') {
95
+ return this.renderIconList(item.item);
96
+ }
90
97
  else if (item.type === 'newItemIndicator') {
91
98
  return this.renderIndicator();
92
99
  }
@@ -105,6 +112,9 @@ export class ChatList {
105
112
  renderChatItem(item) {
106
113
  return (h("limebb-chat-item", { platform: this.platform, context: this.context, item: item, helperText: item.helperText, hasError: item.hasError, key: item.id }));
107
114
  }
115
+ renderIconList(item) {
116
+ return h("limebb-chat-icon-list", { item: item, key: item.id });
117
+ }
108
118
  renderIndicator() {
109
119
  return (h("div", { class: "new-items-indicator", role: "separator" }, h("hr", null), h("h3", null, this.translator.get('webclient.new'))));
110
120
  }
@@ -187,13 +197,13 @@ export class ChatList {
187
197
  "type": "unknown",
188
198
  "mutable": false,
189
199
  "complexType": {
190
- "original": "ChatItem[]",
191
- "resolved": "ChatItem[]",
200
+ "original": "ChatListItem[]",
201
+ "resolved": "ChatListItem[]",
192
202
  "references": {
193
- "ChatItem": {
203
+ "ChatListItem": {
194
204
  "location": "import",
195
- "path": "./chat-item/chat-item.types",
196
- "id": "src/components/chat-list/chat-item/chat-item.types.ts::ChatItem"
205
+ "path": "./chat-list.types",
206
+ "id": "src/components/chat-list/chat-list.types.ts::ChatListItem"
197
207
  }
198
208
  }
199
209
  },
@@ -201,7 +211,7 @@ export class ChatList {
201
211
  "optional": false,
202
212
  "docs": {
203
213
  "tags": [],
204
- "text": "List of items to display in the feed.\nThese items must be sorted by their `timestamp` in descending order."
214
+ "text": "List of items to display in the feed.\nThese items must be sorted by their `timestamp` in descending order.\n\nSee the [ChatListItem](#/type/ChatListItem/) type for the kinds of\nitems that can appear in the list."
205
215
  },
206
216
  "getter": false,
207
217
  "setter": false,
@@ -1,27 +1,22 @@
1
+ function isIconList(item) {
2
+ return 'type' in item && item.type === 'iconList';
3
+ }
4
+ function getProcessedItemTimestamp(item) {
5
+ if (item.type === 'chat' || item.type === 'iconList') {
6
+ return item.item.timestamp;
7
+ }
8
+ return undefined;
9
+ }
1
10
  /**
2
- * Processes a list of notifications by adding date headers and a "new items" indicator.
11
+ * Processes a list of chat list inputs by adding date headers and a "new items" indicator.
3
12
  *
4
- * @param items - The list of notification items to process. These items must be pre-sorted by their `timestamp` in descending order.
13
+ * @param items - The list of items to process. Pre-sorted by `timestamp` in descending order.
5
14
  * @param dateTimeFormatter - A service used to format dates for the date headers.
6
- * @param lastVisitedTimestamp - The timestamp of the user's last visit. This is used to determine where the "new items" indicator should be placed.
7
- *
8
- * @returns An array of processed items, including notifications, date headers, and a "new items" indicator if applicable.
15
+ * @param lastVisitedTimestamp - The timestamp of the user's last visit. Used to position the
16
+ * "new items" indicator.
9
17
  *
10
- * @example
11
- * const processedItems = processNotificationItems(
12
- * notifications,
13
- * dateTimeFormatter,
14
- * new Date('2024-09-01T10:00:00Z')
15
- * );
16
- *
17
- * // Output: [
18
- * // { type: 'dateHeader', date: '2024-09-01' },
19
- * // { type: 'notification', item: notification1 },
20
- * // { type: 'notification', item: notification2 },
21
- * // { type: 'newItemIndicator' },
22
- * // { type: 'dateHeader', date: '2024-08-31' },
23
- * // { type: 'notification', item: notification3 },
24
- * // ]
18
+ * @returns An array of processed items, including chat items, icon lists, date headers,
19
+ * and a "new items" indicator if applicable.
25
20
  */
26
21
  export function processChatItems(items, dateTimeFormatter, lastVisitedTimestamp) {
27
22
  const initialContext = {
@@ -53,7 +48,12 @@ function createPipeline(initialContext, processors) {
53
48
  */
54
49
  export function insertNotifications(context) {
55
50
  for (const item of context.items) {
56
- context.processedItems.push({ type: 'chat', item: item });
51
+ if (isIconList(item)) {
52
+ context.processedItems.push({ type: 'iconList', item: item });
53
+ }
54
+ else {
55
+ context.processedItems.push({ type: 'chat', item: item });
56
+ }
57
57
  }
58
58
  return context;
59
59
  }
@@ -65,16 +65,15 @@ export function insertNewItemIndicator(context) {
65
65
  const processedWithIndicator = [];
66
66
  let newItemIndicatorInserted = context.newItemIndicatorInserted;
67
67
  for (const item of context.processedItems) {
68
- if (item.type === 'chat' &&
68
+ const timestamp = getProcessedItemTimestamp(item);
69
+ if (timestamp !== undefined &&
69
70
  context.lastVisitedTimestamp &&
70
71
  !newItemIndicatorInserted &&
71
- new Date(item.item.timestamp) <= context.lastVisitedTimestamp &&
72
+ new Date(timestamp) <= context.lastVisitedTimestamp &&
72
73
  context.hasUnseenNotifications) {
73
- // Insert the new item indicator before the first old notification
74
74
  processedWithIndicator.push({ type: 'newItemIndicator' });
75
75
  newItemIndicatorInserted = true;
76
76
  }
77
- // Push the current item to the new array
78
77
  processedWithIndicator.push(item);
79
78
  }
80
79
  context.processedItems = processedWithIndicator;
@@ -90,12 +89,10 @@ export function insertDateGroups(context) {
90
89
  const newProcessedItems = [];
91
90
  let currentGroup = null;
92
91
  let lastProcessedDate = null;
93
- // Iterate through the notifications in processedItems
94
92
  for (const item of context.processedItems) {
95
- if (item.type === 'chat') {
93
+ if (item.type === 'chat' || item.type === 'iconList') {
96
94
  const currentTimestamp = new Date(item.item.timestamp);
97
95
  const currentDate = context.dateTimeFormatter.format(currentTimestamp, 'date');
98
- // If the date changes, push the previous group and create a new group
99
96
  if (currentDate !== lastProcessedDate) {
100
97
  if (currentGroup) {
101
98
  newProcessedItems.push(currentGroup);
@@ -108,25 +105,21 @@ export function insertDateGroups(context) {
108
105
  };
109
106
  lastProcessedDate = currentDate;
110
107
  }
111
- // Add the notification to the current group
112
108
  if (currentGroup) {
113
109
  currentGroup.items.push(item);
114
110
  }
115
111
  }
116
112
  else if (item.type === 'newItemIndicator') {
117
- // Insert the newItemIndicator within the current group if it exists
118
113
  if (currentGroup) {
119
114
  currentGroup.items.push(item);
120
115
  }
121
116
  else {
122
- newProcessedItems.push(item); // Edge case: no group exists, just add the indicator
117
+ newProcessedItems.push(item);
123
118
  }
124
119
  }
125
120
  }
126
- // Push the last group, if it exists
127
121
  if (currentGroup) {
128
122
  newProcessedItems.push(currentGroup);
129
123
  }
130
- // Return updated context with grouped items
131
124
  return Object.assign(Object.assign({}, context), { processedItems: newProcessedItems });
132
125
  }
@@ -7,7 +7,7 @@ import { h } from "@stencil/core";
7
7
  */
8
8
  export class TypingIndicator {
9
9
  render() {
10
- return (h("div", { key: 'b935ce2320a2be224b39409f8787554acdc4118c', class: "typing-ellipsis" }, h("div", { key: '906f4069dda78564797563f516fa4f7202e280e2', class: "circle" }), h("div", { key: '9aa4aec7fef5b6194fe9ed200f77419435e4a68c', class: "circle" }), h("div", { key: 'b4993c098ffffc9fae8e5e32665bda523450409d', class: "circle" })));
10
+ return (h("div", { key: 'e2a950cc7f72a3c77e88a670dbf9e810213e41d1', class: "typing-ellipsis" }, h("div", { key: 'ada1d105e1db410000501e4dada0d2b451fad5e1', class: "circle" }), h("div", { key: '77d19496a93ac1c07f0731597cfbce43d25b3e4c', class: "circle" }), h("div", { key: '3c83392afe5049252b87da15095c13dae2fa6798', class: "circle" })));
11
11
  }
12
12
  static get is() { return "limebb-typing-indicator"; }
13
13
  static get encapsulation() { return "shadow"; }
@@ -49,10 +49,7 @@ export class ComponentPicker {
49
49
  return this.tags.some((tag) => { var _a; return (_a = config.tags) === null || _a === void 0 ? void 0 : _a.includes(tag); });
50
50
  };
51
51
  this.handleBlur = () => {
52
- const value = this.currentInput;
53
- if (value && this.isValidIdentifier(value)) {
54
- this.change.emit(this.currentInput);
55
- }
52
+ this.emitIfValidValue(this.currentInput);
56
53
  };
57
54
  this.handleChange = (event) => {
58
55
  var _a;
@@ -64,20 +61,24 @@ export class ComponentPicker {
64
61
  this.copy.emit(this.value);
65
62
  };
66
63
  this.handleKeyUp = (event) => {
67
- var _a;
68
64
  if (event.key !== 'Enter') {
69
65
  return;
70
66
  }
71
- const value = (_a = this.currentInput) !== null && _a !== void 0 ? _a : '';
67
+ this.emitIfValidValue(this.currentInput);
68
+ };
69
+ this.emitIfValidValue = (value) => {
72
70
  if (this.isValidIdentifier(value)) {
73
- this.change.emit(this.currentInput);
71
+ this.change.emit(value);
74
72
  }
75
73
  };
76
74
  this.isValidIdentifier = (identifier) => {
75
+ if (!identifier) {
76
+ return false;
77
+ }
77
78
  if (this.type === 'component') {
78
79
  return Boolean(customElements.get(identifier));
79
80
  }
80
- return true;
81
+ return this.allItems.some((item) => item.value === identifier);
81
82
  };
82
83
  this.renderPicker = () => {
83
84
  let value = this.allItems.find((item) => this.value === item.value);
@@ -106,10 +107,13 @@ export class ComponentPicker {
106
107
  return this.allItems.filter(this.isItemMatching(query.toLocaleLowerCase()));
107
108
  };
108
109
  this.isItemMatching = (query) => (item) => {
109
- var _a, _b;
110
- return (item.text.toLocaleLowerCase().includes(query) ||
111
- ((_a = item.secondaryText) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase().includes(query)) ||
112
- ((_b = item.value) === null || _b === void 0 ? void 0 : _b.toLocaleLowerCase().includes(query)));
110
+ const queryParts = query.split(/\s+/);
111
+ return queryParts.every((part) => {
112
+ var _a, _b;
113
+ return item.text.toLocaleLowerCase().includes(part) ||
114
+ ((_a = item.secondaryText) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase().includes(part)) ||
115
+ ((_b = item.value) === null || _b === void 0 ? void 0 : _b.toLocaleLowerCase().includes(part));
116
+ });
113
117
  };
114
118
  }
115
119
  componentWillLoad() {
@@ -130,8 +134,8 @@ export class ComponentPicker {
130
134
  return [this.renderPicker(), this.renderCopyButton()];
131
135
  }
132
136
  get currentInput() {
133
- var _a, _b, _c, _d, _e, _f;
134
- return (_f = (_e = (_d = (_c = (_b = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('limel-picker')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('limel-chip-set')) === null || _d === void 0 ? void 0 : _d.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('input')) === null || _f === void 0 ? void 0 : _f.value;
137
+ var _a, _b, _c, _d, _e, _f, _g;
138
+ return ((_g = (_f = (_e = (_d = (_c = (_b = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('limel-picker')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('limel-chip-set')) === null || _d === void 0 ? void 0 : _d.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector('input')) === null || _f === void 0 ? void 0 : _f.value) !== null && _g !== void 0 ? _g : '');
135
139
  }
136
140
  get webComponentRegistry() {
137
141
  return this.platform.get(PlatformServiceName.WebComponentRegistry);
@@ -83,8 +83,8 @@ export class ComposerToolbar {
83
83
  }
84
84
  render() {
85
85
  return [
86
- h("div", { key: '7b2b399e4dde1bb090dcdec3021fbbf669ea7d74', class: "actions" }, h("slot", { key: '4c019b51586bb3256ac59ad46e5e996ef10bd890', name: "leading" }), this.renderFileInput(), this.renderTriggerActions(), h("slot", { key: '8daa1e5d6e5093042b46fbd5dd9f22e276ea08f1', name: "trailing" })),
87
- h("slot", { key: 'c59850954e112e1aac342f3dd1544d2f94e696ee', name: "primary-action" }),
86
+ h("div", { key: '109fcf87a4c41ab90a266cd38c81b014a1ac0e61', class: "actions" }, h("slot", { key: '57b03a926670b433480783760d33e0ca669e8f6a', name: "leading" }), this.renderFileInput(), this.renderTriggerActions(), h("slot", { key: 'cc8028bf90b55ed2355b11a96fb3e99bcb3b7c0f', name: "trailing" })),
87
+ h("slot", { key: '3e1f0f1b411817f15afd1940ff5e1400010604c3', name: "primary-action" }),
88
88
  ];
89
89
  }
90
90
  get translator() {
@@ -84,7 +84,7 @@ export class CurrencyPicker {
84
84
  };
85
85
  }
86
86
  render() {
87
- return (h("limel-picker", { key: '316356319724a700de717e4c41e94528f4020cb7', label: this.label || this.defaultLabel, value: this.createListItem(this.value), helperText: this.helperText, onChange: this.handleChange, badgeIcons: false, disabled: this.disabled, required: this.required, readonly: this.readonly, invalid: this.readonly, searcher: this.search }));
87
+ return (h("limel-picker", { key: '6ae5e797b3bd810377ea30aa16a774f20107f1ba', label: this.label || this.defaultLabel, value: this.createListItem(this.value), helperText: this.helperText, onChange: this.handleChange, badgeIcons: false, disabled: this.disabled, required: this.required, readonly: this.readonly, invalid: this.readonly, searcher: this.search }));
88
88
  }
89
89
  getCurrencyName(code) {
90
90
  var _a;
@@ -17,7 +17,7 @@ export class DashboardComponent {
17
17
  };
18
18
  }
19
19
  render() {
20
- return [this.renderHeader(), h("slot", { key: '3d016060b9b3287c330d1250c4f107fd2fb25612', name: "content" })];
20
+ return [this.renderHeader(), h("slot", { key: '4450486b9bf3fa4b35b6c2371338c29917cbe680', name: "content" })];
21
21
  }
22
22
  static get is() { return "limebb-dashboard-widget"; }
23
23
  static get encapsulation() { return "shadow"; }
@@ -66,7 +66,7 @@ export class DatePicker {
66
66
  if (this.value) {
67
67
  this.shouldEmitValueAsString = typeof this.value === 'string';
68
68
  }
69
- return (h("limel-date-picker", { key: 'bea630f5e6668ca3e1d4ccab882c3b816d39344d', disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, label: this.label, placeholder: this.placeholder, helperText: this.helperText, required: this.required, value: this.parseDateValue(), type: this.type, language: this.language, formatter: this.formatter, onChange: this.handleChange }));
69
+ return (h("limel-date-picker", { key: '2920f54b427c3530a324aa1ab817ffaec072953b', disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, label: this.label, placeholder: this.placeholder, helperText: this.helperText, required: this.required, value: this.parseDateValue(), type: this.type, language: this.language, formatter: this.formatter, onChange: this.handleChange }));
70
70
  }
71
71
  parseDateValue() {
72
72
  const value = this.value;
@@ -33,7 +33,7 @@ export class DateRange {
33
33
  this.originalEndTime = this.endTime;
34
34
  }
35
35
  render() {
36
- return (h("div", { key: '5ec890a021ae53b045046f7994a84a8d9c4698d9', class: "date-pickers" }, this.renderStartDatePicker(), this.renderEndDatePicker()));
36
+ return (h("div", { key: '8424fac6160776909ab0c809fdf01d5c32dd447f', class: "date-pickers" }, this.renderStartDatePicker(), this.renderEndDatePicker()));
37
37
  }
38
38
  renderStartDatePicker() {
39
39
  if (!this.originalStartTime) {
@@ -44,7 +44,7 @@ export class DocumentChips {
44
44
  this.revokeAllBlobUrls();
45
45
  }
46
46
  render() {
47
- return (h(Host, { key: '6c8347de35ccd6061c8fa282820210f6a3bcc2c8', role: "list", "aria-label": this.accessibleLabel }, this.files.map((file) => this.renderFile(file))));
47
+ return (h(Host, { key: 'a8434c51cd27c94924e392983cb0983b1fbc7f62', role: "list", "aria-label": this.accessibleLabel }, this.files.map((file) => this.renderFile(file))));
48
48
  }
49
49
  renderFile(file) {
50
50
  const isReady = !file.uploadState || file.uploadState === 'done';
@@ -78,10 +78,10 @@ export class DocumentItemComponent {
78
78
  render() {
79
79
  const isUnavailable = this.isUnavailable();
80
80
  const image = this.getImage();
81
- return (h(Host, { key: 'b8c73e13073f66162b66a62f88b8b301a6a139d4', id: String(this.item.file.id), class: {
81
+ return (h(Host, { key: 'da9f2c2289bd9117e1342e033f0574c48f47c614', id: String(this.item.file.id), class: {
82
82
  'has-image': !!image,
83
83
  'has-error': !!this.item.hasError,
84
- }, role: this.type === 'radio' ? 'radio' : 'checkbox', "aria-checked": this.item.selected ? 'true' : 'false', "aria-disabled": isUnavailable ? 'true' : 'false', tabIndex: isUnavailable ? -1 : 0 }, h("limel-card", { key: '19cf30dc7a3ce2647ddc2abbd177b9f18db8001d', image: image, clickable: isUnavailable ? false : true, onClick: this.handleDocumentItemClick, onKeyDown: this.handleKeyDown }, h("div", { key: 'd3a2c411d3cbbe4e554f9701af6f2191a4b2078d', slot: "component" }, this.renderFileSize(), this.renderBooleanInput())), this.renderHelp()));
84
+ }, role: this.type === 'radio' ? 'radio' : 'checkbox', "aria-checked": this.item.selected ? 'true' : 'false', "aria-disabled": isUnavailable ? 'true' : 'false', tabIndex: isUnavailable ? -1 : 0 }, h("limel-card", { key: '4edee10d15436ed2708931af383f059b93677f18', image: image, clickable: isUnavailable ? false : true, onClick: this.handleDocumentItemClick, onKeyDown: this.handleKeyDown }, h("div", { key: '78f1d689b91a521a9fc2a20226f3f67dfb5e7018', slot: "component" }, this.renderFileSize(), this.renderBooleanInput())), this.renderHelp()));
85
85
  }
86
86
  renderBooleanInput() {
87
87
  const id = this.getControlId();
@@ -76,7 +76,7 @@ export class DocumentPicker {
76
76
  this.labelId = createRandomString();
77
77
  }
78
78
  render() {
79
- return (h(Host, { key: '8f6613354bdee3af42920f78325b2e1a76bbf91e' }, h("limel-notched-outline", { key: '9b4b665b76f4c1fc1047052824c7cff1dcd7c495', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, hasFloatingLabel: true }, h("limel-masonry-layout", { key: '1578066ee0b76f4344389a91c68b09b5955bae90', slot: "content", role: this.type === 'radio' ? 'radiogroup' : 'group', "aria-labelledby": this.label ? this.labelId : undefined, "aria-describedby": this.helperText ? this.helperTextId : undefined }, this.renderItems())), this.renderHelperLine()));
79
+ return (h(Host, { key: 'b28a99c85792d47c500bb2b91aa2011bd7298f48' }, h("limel-notched-outline", { key: 'c855f472a73f0f2d35a0f5452ea2fcd5d370e834', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, hasFloatingLabel: true }, h("limel-masonry-layout", { key: 'e333e8e2244e2e56abb178ea2359bcae5c8d699a', slot: "content", role: this.type === 'radio' ? 'radiogroup' : 'group', "aria-labelledby": this.label ? this.labelId : undefined, "aria-describedby": this.helperText ? this.helperTextId : undefined }, this.renderItems())), this.renderHelperLine()));
80
80
  }
81
81
  renderItems() {
82
82
  return this.items.map((item) => (h("limebb-document-item", { platform: this.platform, context: this.context, item: item, key: item.file.id, type: this.type, onInteract: this.handleItemInteract })));
@@ -205,7 +205,7 @@ export class FeedTimelineItem {
205
205
  render() {
206
206
  var _a, _b;
207
207
  const helperTextId = `helper-text-${this.item.id}`;
208
- return (h(Host, { key: 'de138a29c33bcf4b77e6699b4ecc5dd4acde1c56', id: this.item.id, class: {
208
+ return (h(Host, { key: 'bf4f899cd59906f66fb4ad419bca4dd57e7733ad', id: this.item.id, class: {
209
209
  'has-unpromoted-actions': !!((_a = this.item.unpromotedActions) === null || _a === void 0 ? void 0 : _a.length),
210
210
  'has-author-picture': !!((_b = this.item.author) === null || _b === void 0 ? void 0 : _b.picture),
211
211
  'shows-less': !this.showMore,
@@ -8,7 +8,7 @@ import { h } from "@stencil/core";
8
8
  */
9
9
  export class FeedItemThumbnailFileInfo {
10
10
  render() {
11
- return h("span", { key: 'e651265e23288802ee6d89e3cfe5e0f7bd8073c3' }, this.description);
11
+ return h("span", { key: '36256b59f8a04f0ae5628399d60c8b6f624a7823' }, this.description);
12
12
  }
13
13
  static get is() { return "limebb-feed-item-thumbnail-file-info"; }
14
14
  static get encapsulation() { return "shadow"; }
@@ -103,7 +103,7 @@ export class Feed {
103
103
  this.highlighter.unregisterFeed(this.feedItemElement);
104
104
  }
105
105
  render() {
106
- return (h(Host, { key: 'b56f2996447a80c5cf12f83fce2ca05de53553e4', role: "log", "aria-busy": this.loading ? 'true' : 'false', style: {
106
+ return (h(Host, { key: 'ce3bdf0a1500bb43636b4632c6b37c5041008795', role: "log", "aria-busy": this.loading ? 'true' : 'false', style: {
107
107
  '--limebb-feed-highlight-duration': `${ITEM_HIGHLIGHT_DURATION}ms`,
108
108
  } }, this.renderLoadMore(), this.renderEmptyFeedMessage(), this.renderSpinner(), this.renderFeedItems()));
109
109
  }
@@ -35,7 +35,7 @@ export class IconPicker {
35
35
  icon: this.value,
36
36
  };
37
37
  }
38
- return (h("limel-picker", { key: 'd86348e6a8d4e6aa03ac880565cfd53eccfa4aff', label: this.label, helperText: this.helperText, disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, required: this.required, value: value, searcher: this.search, onChange: this.handleChange, badgeIcons: false, leadingIcon: "search", searchLabel: "Start typing to find the right icon" }));
38
+ return (h("limel-picker", { key: 'd899650ef643e6192247e252cedcd4cd2cc0ca44', label: this.label, helperText: this.helperText, disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, required: this.required, value: value, searcher: this.search, onChange: this.handleChange, badgeIcons: false, leadingIcon: "search", searchLabel: "Start typing to find the right icon" }));
39
39
  }
40
40
  static get is() { return "limebb-icon-picker"; }
41
41
  static get encapsulation() { return "shadow"; }
@@ -92,7 +92,7 @@ export class InfoTileAdminConfig {
92
92
  },
93
93
  ];
94
94
  return [
95
- h("limel-button-group", { key: 'cac8e4793eb19e3f4d959a7a53115954b190eddf', value: buttons.filter(this.isValidButton), onChange: this.handleChangeType }),
95
+ h("limel-button-group", { key: 'e286565f45b3a71b7b666e1479f33b1e8dc25c0f', value: buttons.filter(this.isValidButton), onChange: this.handleChangeType }),
96
96
  this.renderFormatConfig(),
97
97
  ];
98
98
  }
@@ -100,7 +100,7 @@ export class InfoTile {
100
100
  const errorProps = Object.assign(Object.assign({}, baseProps), { icon: 'error', prefix: 'ERROR', loading: true, label: this.getLabel(filter) });
101
101
  const normalProps = Object.assign(Object.assign({}, baseProps), { label: this.getLabel(filter), link: this.getLink(filter), loading: this.loading, value: value === null || value === void 0 ? void 0 : value.value.trim() });
102
102
  const props = !filter || this.error ? errorProps : normalProps;
103
- return (h("limel-info-tile", Object.assign({ key: '1211ee931d2cf7a5a3c13896515812ddbcab29f2', class: { error: !filter || this.error } }, props)));
103
+ return (h("limel-info-tile", Object.assign({ key: '95cff868253a68eefdf7845a344c41c5b37a2bb8', class: { error: !filter || this.error } }, props)));
104
104
  }
105
105
  getFormattedValue() {
106
106
  if (!this.value && this.value !== 0) {
@@ -27,7 +27,7 @@ export class KanbanGroup {
27
27
  };
28
28
  }
29
29
  render() {
30
- return (h(Host, { key: '45122f5462476d2c0c9a44af4c5281ef510fdea1' }, this.renderHelp(), this.renderGroupHeading(), this.renderGroupSummary(), this.renderItems()));
30
+ return (h(Host, { key: '0c8691aa3188af6fe8827e62142815a618dad01a' }, this.renderHelp(), this.renderGroupHeading(), this.renderGroupSummary(), this.renderItems()));
31
31
  }
32
32
  renderGroupSummary() {
33
33
  if (!this.summary || !this.totalCount) {
@@ -55,7 +55,7 @@ export class KanbanItemComponent {
55
55
  }
56
56
  render() {
57
57
  var _a, _b;
58
- return (h(Host, { key: 'b426be161e49623843ff6c47cddad048177ca441', id: this.item.id.toString(), class: {
58
+ return (h(Host, { key: '297aa0618ff2077dae64710ecb1651a1ae766873', id: this.item.id.toString(), class: {
59
59
  'has-unpromoted-actions': !!((_a = this.item.unpromotedActions) === null || _a === void 0 ? void 0 : _a.length),
60
60
  'is-selected': !!((_b = this.item) === null || _b === void 0 ? void 0 : _b.selected),
61
61
  }, style: {
@@ -122,7 +122,7 @@ export class LimeQueryFilterComparisonComponent {
122
122
  };
123
123
  }
124
124
  render() {
125
- return (h(Host, { key: '008be722e21a16f4e2f80f655f70a564a9b1e38d' }, this.renderHeader(), h("div", { key: '2cd041b142596671c7ead3849406b8fa65c29926', class: "expression-container" }, this.renderPropertySelector(), this.renderOperator(), this.renderValueInput(), h("limel-icon-button", { key: '1fb2fc8a0cec0b70f5d3c24a976f0f436a294eae', class: "remove", icon: "trash", label: "Remove condition", onClick: this.removeExpression }))));
125
+ return (h(Host, { key: 'b42fd5bee8ad3cdf70dc67ef836fc5dd038f64ef' }, this.renderHeader(), h("div", { key: 'e81cc3854bc63d1aa27bb476c5bc4f9a81357262', class: "expression-container" }, this.renderPropertySelector(), this.renderOperator(), this.renderValueInput(), h("limel-icon-button", { key: 'ceab776a7de2cf47b42b93b06f2d72ea38627b6d', class: "remove", icon: "trash", label: "Remove condition", onClick: this.removeExpression }))));
126
126
  }
127
127
  renderHeader() {
128
128
  if (!this.label) {
@@ -72,9 +72,9 @@ export class LimeQueryFilterGroupComponent {
72
72
  (this.expression.op === Operator.AND ? 'and' : 'or')) || this.options[0];
73
73
  }
74
74
  render() {
75
- return (h(Host, { key: 'a93a715b9bd65e6e9381083aef11951588471fc5', style: {
75
+ return (h(Host, { key: 'c47d52a6ba4d36d3f4f97eb6d8bf8459c5bbda73', style: {
76
76
  '--limebb-lime-query-filter-group-operator': `"${this.expression.op === Operator.AND ? 'AND' : 'OR'}"`,
77
- } }, h("div", { key: 'efbf025924e34613504f38db66affa1650bfe70c', class: "expression" }, this.renderHeader(), h("ul", { key: '6e287058fb7969124e4f22b42b32b14d80c0511f' }, this.expression.exp.map(this.renderChildExpression), this.renderAddButton()), this.renderAddGroupButton())));
77
+ } }, h("div", { key: 'ac9897b5c0cf7ad4e30c4bbb08df5be46bee61f4', class: "expression" }, this.renderHeader(), h("ul", { key: 'c02f76fa8ed8b595215feacc7bcb7fe55564b03a' }, this.expression.exp.map(this.renderChildExpression), this.renderAddButton()), this.renderAddGroupButton())));
78
78
  }
79
79
  renderHeader() {
80
80
  const subheading = this.getSubheading();
@@ -35,7 +35,7 @@ export class LimeQueryFilterNotComponent {
35
35
  };
36
36
  }
37
37
  render() {
38
- return (h("div", { key: '2967dd36cabe81bc1f140be7d11d471b1f29f5e7', class: "expression" }, this.label && h("limel-header", { key: '5a7ab204d8c0d45706ad61b1db8d1ef3acfb0731', heading: this.label }), h("limebb-lime-query-filter-expression", { key: 'ee8ea7f9eeb111d77abbcecd98d61e550ff8cdb9', platform: this.platform, context: this.context, label: "Not", limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression.exp, onExpressionChange: this.handleExpressionChange })));
38
+ return (h("div", { key: 'd2aba5cccb2e74ab91041833863a1c9329b9933a', class: "expression" }, this.label && h("limel-header", { key: '0e12b36710cba76d35f623cb8d6d008fc0f134e9', heading: this.label }), h("limebb-lime-query-filter-expression", { key: '13a64f29bc5339a43641eba8678595c225a09b7a', platform: this.platform, context: this.context, label: "Not", limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression.exp, onExpressionChange: this.handleExpressionChange })));
39
39
  }
40
40
  static get is() { return "limebb-lime-query-filter-not"; }
41
41
  static get encapsulation() { return "shadow"; }
@@ -172,7 +172,7 @@ export class LimeQueryBuilder {
172
172
  }
173
173
  }
174
174
  render() {
175
- return (h(Host, { key: '883901b3f445419dad53e7c02dd160ad7483c0cb' }, this.renderHeader(), this.renderContent()));
175
+ return (h(Host, { key: '8c454a860751d71379bf02e736ab361205bd8617' }, this.renderHeader(), this.renderContent()));
176
176
  }
177
177
  renderContent() {
178
178
  const visualModeSupported = this.checkVisualModeSupport();
@@ -154,7 +154,7 @@ export class LimeQueryResponseFormatBuilder {
154
154
  }
155
155
  render() {
156
156
  const visualModeSupported = this.checkVisualModeSupport();
157
- return (h("div", { key: '7f4adae0e3f4d14194fc558600db983f45fe760a', class: "response-format-builder" }, this.label && h("h1", { key: 'eeb78bdccf2f8e344de742618b72a7bb341e5bf5', class: "builder-label" }, this.label), this.helperText && (h("p", { key: '03ff96e0645d03377b28c048f02d868046f17903', class: "builder-helper-text" }, this.helperText)), this.visualModeEnabled && (h("div", { key: '65ca3551326e0ec4deff00aff4a19aec2fee9702', class: "mode-controls" }, this.renderModeSwitch(visualModeSupported))), !this.visualModeEnabled || this.mode === 'code' ? (h("div", { class: "code-mode" }, this.renderCodeEditor(visualModeSupported))) : (h("div", { class: "visual-mode" }, this.renderVisualMode()))));
157
+ return (h("div", { key: '5c8af8c1df74a96dbbe7afa4eec0df98289401f1', class: "response-format-builder" }, this.label && h("h1", { key: 'be3af49b68cbf3a97a433be2b39ce9499e495e2d', class: "builder-label" }, this.label), this.helperText && (h("p", { key: 'b7e92bf7520fbf71ba411a75d98bf020abeab4c7', class: "builder-helper-text" }, this.helperText)), this.visualModeEnabled && (h("div", { key: '0b123dccd24e0b9bddbf62906608d224ee1e71a1', class: "mode-controls" }, this.renderModeSwitch(visualModeSupported))), !this.visualModeEnabled || this.mode === 'code' ? (h("div", { class: "code-mode" }, this.renderCodeEditor(visualModeSupported))) : (h("div", { class: "visual-mode" }, this.renderVisualMode()))));
158
158
  }
159
159
  renderModeSwitch(support) {
160
160
  const visualDisabled = !support.visualModeSupported;
@@ -78,7 +78,7 @@ export class LimetypeField {
78
78
  value: '',
79
79
  };
80
80
  options.unshift(emptyOption);
81
- return (h("limel-select", { key: '6157ed54a38920f001fa79b5a39c48b677826dd5', label: this.label, options: options, value: selectedOption, required: this.required, helperText: this.helperText, invalid: invalid, disabled: this.disabled || this.readonly, onChange: this.handleChange }));
81
+ return (h("limel-select", { key: '6afce0cc51d4c8175599d36c6035316b0dcaf165', label: this.label, options: options, value: selectedOption, required: this.required, helperText: this.helperText, invalid: invalid, disabled: this.disabled || this.readonly, onChange: this.handleChange }));
82
82
  }
83
83
  componentWillRender() {
84
84
  this.updatePropertyFields(this.value || '');
@@ -69,7 +69,7 @@ export class OrderByEditor {
69
69
  }
70
70
  }
71
71
  render() {
72
- return (h(Host, { key: 'accbc6c9e4d55d7480a0742da0bc96db3077fbf1' }, this.renderEmptyState(), this.renderOrderByEditor()));
72
+ return (h(Host, { key: 'd99da16b1ba63352f83dfd7f9edaa5c9fd7d97cc' }, this.renderEmptyState(), this.renderOrderByEditor()));
73
73
  }
74
74
  renderEmptyState() {
75
75
  if (this.limetype) {
@@ -38,9 +38,9 @@ export class OrderByItemComponent {
38
38
  render() {
39
39
  const propertyPath = Object.keys(this.item)[0] || '';
40
40
  const direction = this.item[propertyPath] || 'ASC';
41
- return (h(Host, { key: 'd9acb6f013d44d467410a7ed0f318d668bf54055' }, h("limebb-property-selector", { key: '419cfc3264a1fcae40888cc43f5c60a68f2f23db', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: propertyPath, required: true, onChange: this.handlePathChange }), h("div", { key: 'b85f69b1596a61d6d0b63cf857e5b0382f2b6e8c', class: "control-buttons" }, h("limel-icon-button", { key: 'd7beb38b2452bd41ab1cd5f273292c9e58be15cf', icon: direction === 'ASC'
41
+ return (h(Host, { key: '21cad0f39f274379cb7039e4890972d9913c2ecd' }, h("limebb-property-selector", { key: 'd006e27718f4a15f5a0ed2ce24be471dbf76a24c', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: propertyPath, required: true, onChange: this.handlePathChange }), h("div", { key: 'dfa908694cdb8c305e1377d8a15cf66623727527', class: "control-buttons" }, h("limel-icon-button", { key: 'bfbe3ce1f78ba6a313ad35d0134e61b101425042', icon: direction === 'ASC'
42
42
  ? 'sort_ascending'
43
- : 'sort_descending', label: direction === 'ASC' ? 'Ascending' : 'Descending', onClick: this.handleToggleDirection }), h("limel-icon-button", { key: '0407b6a44822a4ee182aa95140fe8d9fd01dc377', icon: "trash", label: "Remove", onClick: this.handleRemove }))));
43
+ : 'sort_descending', label: direction === 'ASC' ? 'Ascending' : 'Descending', onClick: this.handleToggleDirection }), h("limel-icon-button", { key: '0ce8594441308c30b1d3575dfb5f3ccd2bfbd484', icon: "trash", label: "Remove", onClick: this.handleRemove }))));
44
44
  }
45
45
  static get is() { return "limebb-lime-query-order-by-item"; }
46
46
  static get encapsulation() { return "shadow"; }
@@ -66,7 +66,7 @@ export class ResponseFormatItem {
66
66
  }
67
67
  render() {
68
68
  return [
69
- h("div", { key: '5f95a0ebd3f9eb632405f2bf8f1ac14a00042c5a', class: "property-controls" }, h("div", { key: '26d132043bf28e243749b97f7e5d3e439b2756dc', class: "property-path" }, h("limebb-property-selector", { key: '7c7616d91cd4a51648e22171ba921e7586b2e1f0', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: this.item.path, required: true, onChange: this.handlePathChange }), h("div", { key: '805a1a1776eaf1c1e46ebeabe899d6c0d0576043', class: "input-grid" }, this.renderAliasInput()), h("div", { key: 'd38b4d3b5d9e58a112dbadcf847102aa29659ddb', class: "input-grid" }, this.renderDescriptionInput()), h("div", { key: '7cecdf95dc03bc55ab267c8357139360cde63a1c', class: "button-group" }, this.renderAliasButton(), this.renderDescriptionButton())), h("limel-icon-button", { key: '1e98658175aa6c02abc647425c87f8f4e9680520', icon: "trash", label: "Remove property", onClick: this.handleRemove })),
69
+ h("div", { key: 'a2843cc617818cbf7382daf3108543cd8fb1e343', class: "property-controls" }, h("div", { key: 'c76365ff9658ea117e21e6f9a0f1d6fb5b79abb2', class: "property-path" }, h("limebb-property-selector", { key: 'a0395d388521afe454811f29c510999cce4aa6fe', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: this.item.path, required: true, onChange: this.handlePathChange }), h("div", { key: 'ddbdc38a6317094e73603157bdd048434fa03d99', class: "input-grid" }, this.renderAliasInput()), h("div", { key: '5c180c61bec2b056403b4db9f7d2d9e1d791cfc5', class: "input-grid" }, this.renderDescriptionInput()), h("div", { key: '97cfa83598bc7721283281465d019879dd116a9c', class: "button-group" }, this.renderAliasButton(), this.renderDescriptionButton())), h("limel-icon-button", { key: '90b98cc5fa5530f4f5216704ac0553e2e1dfb1a7', icon: "trash", label: "Remove property", onClick: this.handleRemove })),
70
70
  ];
71
71
  }
72
72
  renderAliasButton() {
@@ -5,8 +5,8 @@ import { h } from "@stencil/core";
5
5
  export class LiveDocsInfo {
6
6
  render() {
7
7
  return [
8
- h("div", { key: 'c3152fe06ce8121b41d8cea5e2e072960f4f2dbd', class: "header" }, h("limel-icon", { key: '75ae76ece389f6b65ca9ae8b1859404e3c344f20', name: "not_showing_video_frames" }), h("h2", { key: '97ec2ce77d697daccdc32c0150be556e77e314c6' }, "Viewing this file type requires ", h("em", { key: '4a851090390b307193f2df2a4129ce9e661d3046' }, "Live Docs"))),
9
- h("p", { key: 'f2326f85486bc9f8864b56bcee179eb5a2aeedd4' }, h("em", { key: 'c01d97bf47d22fa51b0955ca6dae2bfb48e3bcc6' }, "Live Docs"), " not only enables you to view many file formats such as Microsoft Office documents, but it also empowers you to edit them right in the CRM. No need to download anything on your device!", h("a", { key: '92719f5981b74442abcf951cd187236140d7e5b5', target: "_blank", href: "https://www.lime-technologies.com/en/lime-crm/live-docs/" }, "Learn more")),
8
+ h("div", { key: 'b1c708e240f019acae3db9080b1f290f05b8881d', class: "header" }, h("limel-icon", { key: 'b4ad9a1d4930440c56dda2921a8ad53014a358c7', name: "not_showing_video_frames" }), h("h2", { key: 'c9f7e21b877108dcf1d0b437d1d9bf91f530dc1f' }, "Viewing this file type requires ", h("em", { key: '693989ef194e41dd8d21d2735579ad3881ee67fa' }, "Live Docs"))),
9
+ h("p", { key: '8e7c3c6f99af14853bf468227a8d17e5fcc51ea9' }, h("em", { key: '2517714215e61815a86e3aa3b6e92d39c7a3a427' }, "Live Docs"), " not only enables you to view many file formats such as Microsoft Office documents, but it also empowers you to edit them right in the CRM. No need to download anything on your device!", h("a", { key: '0bb7bb2aa1d8ea61300077e25d75f2811729ddcb', target: "_blank", href: "https://www.lime-technologies.com/en/lime-crm/live-docs/" }, "Learn more")),
10
10
  ];
11
11
  }
12
12
  static get is() { return "limebb-live-docs-info"; }
@@ -53,7 +53,7 @@ export class LocalePicker {
53
53
  const value = this.value;
54
54
  selectedOptions = options.find((option) => option.value === value);
55
55
  }
56
- return (h("limel-select", { key: '146ecba3fc26664d49336cb4576887caee2b7f9f', value: selectedOptions, options: sortBy(options, 'text'), helperText: this.helperText, label: this.label, required: this.required, disabled: this.disabled, readonly: this.readonly, onChange: this.handleChange, multiple: this.multipleChoice }));
56
+ return (h("limel-select", { key: 'd77e297e7b7a02f4ef92c4449795c8349e87690c', value: selectedOptions, options: sortBy(options, 'text'), helperText: this.helperText, label: this.label, required: this.required, disabled: this.disabled, readonly: this.readonly, onChange: this.handleChange, multiple: this.multipleChoice }));
57
57
  }
58
58
  static get is() { return "limebb-locale-picker"; }
59
59
  static get encapsulation() { return "shadow"; }
@@ -56,7 +56,7 @@ export class NotificationListItem {
56
56
  }
57
57
  render() {
58
58
  var _a, _b;
59
- return (h(Host, { key: 'b3568cd406313837db0baae97446cc00800e174c', id: this.item.id, class: {
59
+ return (h(Host, { key: 'ecf766dc6b3f82851c29b9797701e09c966f2b91', id: this.item.id, class: {
60
60
  'is-clickable': this.isItemClickable(),
61
61
  'is-read': !!((_a = this.item) === null || _a === void 0 ? void 0 : _a.read),
62
62
  'is-selected': !!((_b = this.item) === null || _b === void 0 ? void 0 : _b.selected),