@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
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-cdbbc18d.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-96dd111f.js';
2
2
 
3
3
  const infoTileFormatCss = ":host(limebb-info-tile-format){display:grid;gap:1rem}limel-button-group{grid-column:1/-1}.format{display:grid;gap:0.5rem;grid-template-columns:repeat(auto-fit, minmax(8rem, 1fr))}";
4
4
  const LimebbInfoTileFormatStyle0 = infoTileFormatCss;
@@ -103,6 +103,7 @@ const InfoTileAdminConfig = class {
103
103
  }
104
104
  let type = this.value.type;
105
105
  if (this.isNumberFormat(this.value)) {
106
+ // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain
106
107
  type = (_b = this.value.options) === null || _b === void 0 ? void 0 : _b.style;
107
108
  }
108
109
  const ComponentName = `limebb-info-tile-${type}-format`;
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-cdbbc18d.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-96dd111f.js';
2
2
 
3
3
  const InfoTileAdminConfig = class {
4
4
  constructor(hostRef) {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-cdbbc18d.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-96dd111f.js';
2
2
 
3
3
  /**
4
4
  * Single units sanctioned for use in ECMAScript
@@ -59,7 +59,7 @@ const InfoTileAdminConfig = class {
59
59
  this.change = createEvent(this, "change", 7);
60
60
  this.getOptionValue = (option) => option.value;
61
61
  this.getAffixValue = (options) => {
62
- if (!options.length) {
62
+ if (options.length === 0) {
63
63
  return;
64
64
  }
65
65
  return options.map((o) => o.value);
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, h } from './index-cdbbc18d.js';
2
- import { c, Y as Ye, K as Ke, W as We } from './index.esm-5e14dac9.js';
1
+ import { r as registerInstance, h } from './index-96dd111f.js';
2
+ import { c, Y as Ye, K as Ke, W as We } from './index.esm-10a8f67c.js';
3
3
  import { i as isArrayLike, a as isBuffer, b as isTypedArray, c as isArguments, g as getTag, d as isPrototype, e as baseKeys } from './_getTag-d02a95fa.js';
4
4
  import { i as isArray } from './_Map-aede53b6.js';
5
5
 
@@ -158,28 +158,29 @@ class DateTimeFormatter {
158
158
  };
159
159
  }
160
160
  formatValue(date, format) {
161
- var _a, _b;
162
161
  const options = Object.assign({}, format.options);
163
- (_a = format.prefix) === null || _a === void 0 ? void 0 : _a.forEach((prefix) => {
164
- delete options[prefix];
165
- });
166
- (_b = format.suffix) === null || _b === void 0 ? void 0 : _b.forEach((suffix) => {
167
- delete options[suffix];
168
- });
162
+ if (format.prefix)
163
+ for (const prefix of format.prefix) {
164
+ delete options[prefix];
165
+ }
166
+ if (format.suffix)
167
+ for (const suffix of format.suffix) {
168
+ delete options[suffix];
169
+ }
169
170
  const formatter = new Intl.DateTimeFormat(this.locale, options);
170
171
  return formatter.format(date);
171
172
  }
172
173
  formatAffix(affix, date, format) {
173
174
  const options = Object.assign({}, format.options);
174
- Object.keys(options).forEach((option) => {
175
+ for (const option of Object.keys(options)) {
175
176
  if (option === 'hour12') {
176
- return;
177
+ continue;
177
178
  }
178
179
  if ((format[affix] || []).includes(option)) {
179
- return;
180
+ continue;
180
181
  }
181
182
  delete options[option];
182
- });
183
+ }
183
184
  if (Object.values(options).filter(Boolean).length === 0) {
184
185
  return;
185
186
  }
@@ -193,13 +194,13 @@ class NumberFormatter {
193
194
  this.locale = locale;
194
195
  }
195
196
  format(value, format) {
197
+ var _a, _b;
196
198
  const formatter = new Intl.NumberFormat(this.locale, format.options);
197
199
  const parts = formatter.formatToParts(value);
198
200
  let prefix = '';
199
201
  let number = '';
200
202
  let suffix = '';
201
- parts.forEach((part) => {
202
- var _a, _b;
203
+ for (const part of parts) {
203
204
  if ((_a = format.prefix) === null || _a === void 0 ? void 0 : _a.includes(part.type)) {
204
205
  prefix += part.value;
205
206
  }
@@ -209,7 +210,7 @@ class NumberFormatter {
209
210
  else {
210
211
  number += part.value;
211
212
  }
212
- });
213
+ }
213
214
  if (!number) {
214
215
  number = formatter.format(value);
215
216
  prefix = '';
@@ -234,7 +235,7 @@ class RelativeDateFormatter {
234
235
  let prefix = '';
235
236
  let formattedValue = '';
236
237
  let suffix = '';
237
- parts.forEach((part) => {
238
+ for (const part of parts) {
238
239
  if (part.type === 'literal' && !formattedValue) {
239
240
  prefix += part.value;
240
241
  }
@@ -244,7 +245,7 @@ class RelativeDateFormatter {
244
245
  else {
245
246
  formattedValue += part.value;
246
247
  }
247
- });
248
+ }
248
249
  if (!formattedValue) {
249
250
  formattedValue = prefix || suffix;
250
251
  prefix = '';
@@ -261,7 +262,6 @@ class RelativeDateFormatter {
261
262
  const now = new Date();
262
263
  const diffInMs = date.getTime() - now.getTime();
263
264
  const times = [
264
- /* eslint-disable no-magic-numbers */
265
265
  { unit: 'year', value: 1000 * 60 * 60 * 24 * 365 },
266
266
  { unit: 'month', value: 1000 * 60 * 60 * 24 * 30 },
267
267
  { unit: 'week', value: 1000 * 60 * 60 * 24 * 7 },
@@ -269,7 +269,6 @@ class RelativeDateFormatter {
269
269
  { unit: 'hour', value: 1000 * 60 * 60 },
270
270
  { unit: 'minute', value: 1000 * 60 },
271
271
  { unit: 'second', value: 1000 },
272
- /* eslint-enable no-magic-numbers */
273
272
  ];
274
273
  for (const time of times) {
275
274
  const diff = diffInMs / time.value;
@@ -352,7 +351,6 @@ const InfoTile = class {
352
351
  this.value = await this.loader.load(aggregator, this.context);
353
352
  }
354
353
  catch (error) {
355
- // eslint-disable-next-line no-console
356
354
  console.error(error);
357
355
  this.error = true;
358
356
  }
@@ -361,6 +359,7 @@ const InfoTile = class {
361
359
  getKey() {
362
360
  const RADIX = 36;
363
361
  const START = 2;
362
+ // eslint-disable-next-line sonarjs/pseudo-random
364
363
  return Math.random().toString(RADIX).slice(START);
365
364
  }
366
365
  render() {
@@ -376,7 +375,7 @@ const InfoTile = class {
376
375
  const errorProps = Object.assign(Object.assign({}, baseProps), { icon: 'error', prefix: 'ERROR', loading: true, label: this.getLabel(filter) });
377
376
  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() });
378
377
  const props = !filter || this.error ? errorProps : normalProps;
379
- return (h("limel-info-tile", Object.assign({ key: '43a5d8a0eb0b877f607c549900593f98e68396ed', class: { error: !filter || this.error } }, props)));
378
+ return (h("limel-info-tile", Object.assign({ key: '9d8d11498cba43ea63f18f6a6a72148d39966d5c', class: { error: !filter || this.error } }, props)));
380
379
  }
381
380
  getFormattedValue() {
382
381
  if (!this.value && this.value !== 0) {
@@ -1,7 +1,7 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-cdbbc18d.js';
2
- import { L as Le, c } from './index.esm-5e14dac9.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-96dd111f.js';
2
+ import { L as Le, c } from './index.esm-10a8f67c.js';
3
3
 
4
- 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)}";
4
+ 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)}";
5
5
  const LimebbKanbanGroupStyle0 = kanbanGroupCss;
6
6
 
7
7
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -1,7 +1,7 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-cdbbc18d.js';
2
- import { c } from './index.esm-5e14dac9.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-96dd111f.js';
2
+ import { c } from './index.esm-10a8f67c.js';
3
3
 
4
- 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}";
4
+ 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}";
5
5
  const LimebbKanbanItemStyle0 = kanbanItemCss;
6
6
 
7
7
  const KanbanItemComponent = class {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-cdbbc18d.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-96dd111f.js';
2
2
 
3
3
  const kanbanCss = ":host(limebb-kanban){--limebb-kanban-col-gap:1rem;box-sizing:border-box;display:flex;align-items:stretch;column-gap:var(--limebb-kanban-col-gap);width:100%;height:100%;padding:0.5rem;padding-right:calc(var(--kanban-padding-right, 0rem) + 5rem);overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scroll-padding:calc(var(--limebb-kanban-col-gap) + 0.5rem)}";
4
4
  const LimebbKanbanStyle0 = kanbanCss;
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, h } from './index-cdbbc18d.js';
2
- import { G as Ge, L as Le, c } from './index.esm-5e14dac9.js';
1
+ import { r as registerInstance, h } from './index-96dd111f.js';
2
+ import { G as Ge, L as Le, c } from './index.esm-10a8f67c.js';
3
3
  import { n as negate } from './negate-55744008.js';
4
4
 
5
5
  const LIVE_DOCS_TYPES = ['edit', 'view'];
@@ -92,13 +92,13 @@ const FileViewer = class {
92
92
  return this.fileTypes
93
93
  .filter(this.isLiveDocsType)
94
94
  .map((type) => file.getUrl(type))
95
- .find((href) => href);
95
+ .find(Boolean);
96
96
  }
97
97
  getFileUrl(file) {
98
98
  return this.fileTypes
99
99
  .filter(negate(this.isLiveDocsType))
100
100
  .map((type) => file.getUrl(type))
101
- .find((href) => href);
101
+ .find(Boolean);
102
102
  }
103
103
  getFile() {
104
104
  const property = this.fileProperty;
@@ -1,6 +1,6 @@
1
- import { r as registerInstance, c as createEvent } from './index-cdbbc18d.js';
2
- import { h, c } from './index.esm-5e14dac9.js';
3
- import { H as HighlightFeedItemHandler } from './highlight-item.handler-96b59c20.js';
1
+ import { r as registerInstance, c as createEvent } from './index-96dd111f.js';
2
+ import { h, c } from './index.esm-10a8f67c.js';
3
+ import { H as HighlightFeedItemHandler } from './highlight-item.handler-dfbf11c0.js';
4
4
 
5
5
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6
6
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-cdbbc18d.js';
2
- import { c } from './index.esm-5e14dac9.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-96dd111f.js';
2
+ import { c } from './index.esm-10a8f67c.js';
3
3
  import { t as toString, c as castPath, a as toKey, i as isKey, g as get, b as baseGet, d as arrayMap } from './get-f9e0b2e1.js';
4
4
  import { d as defineProperty, i as isIndex, a as arrayPush, U as Uint8Array, g as getAllKeys, S as Stack, k as keys } from './_Uint8Array-e5cac922.js';
5
5
  import { d as isObject, i as isArray, S as Symbol, a as isObjectLike } from './_Map-aede53b6.js';
@@ -1534,8 +1534,13 @@ var sortBy = baseRest(function(collection, iteratees) {
1534
1534
 
1535
1535
  const sortBy$1 = sortBy;
1536
1536
 
1537
+ /**
1538
+ *
1539
+ * @param languageCode
1540
+ * @param sessionLanguage
1541
+ */
1537
1542
  function getLanguageTitle(languageCode, sessionLanguage) {
1538
- if (!languageCode.length || !sessionLanguage.length) {
1543
+ if (languageCode.length === 0 || sessionLanguage.length === 0) {
1539
1544
  return '';
1540
1545
  }
1541
1546
  languageCode = languageCode === 'en_us' ? 'en-US' : languageCode;
@@ -1548,6 +1553,10 @@ function getLanguageTitle(languageCode, sessionLanguage) {
1548
1553
  languageNameParts[0] = capitalize(languageNameParts[0]);
1549
1554
  return languageNameParts.join(' ');
1550
1555
  }
1556
+ /**
1557
+ *
1558
+ * @param http
1559
+ */
1551
1560
  async function getAllLanguages(http) {
1552
1561
  const languages = await http.get('api/v1/admin/settings/languages');
1553
1562
  const result = [];
@@ -1585,7 +1594,6 @@ const LocalePicker = class {
1585
1594
  }
1586
1595
  catch (error) {
1587
1596
  // Throwing an error here will break the entire page, so we just log it instead
1588
- // eslint-disable-next-line no-console
1589
1597
  console.error(error);
1590
1598
  }
1591
1599
  }
@@ -1600,13 +1608,13 @@ const LocalePicker = class {
1600
1608
  let selectedOptions;
1601
1609
  if (Array.isArray(this.value)) {
1602
1610
  const value = this.value;
1603
- selectedOptions = options.filter((option) => value.some((val) => option.value === val));
1611
+ selectedOptions = options.filter((option) => value.includes(option.value));
1604
1612
  }
1605
1613
  else {
1606
1614
  const value = this.value;
1607
1615
  selectedOptions = options.find((option) => option.value === value);
1608
1616
  }
1609
- return (h("limel-select", { key: '085d3f0a20c6deb08ce52c4dadcc543f20cae275', value: selectedOptions, options: sortBy$1(options, 'text'), helperText: this.helperText, label: this.label, required: this.required, disabled: this.disabled, readonly: this.readonly, onChange: this.handleChange, multiple: this.multipleChoice }));
1617
+ return (h("limel-select", { key: 'cc3a266bdce895eee028a3109e4b1918f805adb7', value: selectedOptions, options: sortBy$1(options, 'text'), helperText: this.helperText, label: this.label, required: this.required, disabled: this.disabled, readonly: this.readonly, onChange: this.handleChange, multiple: this.multipleChoice }));
1610
1618
  }
1611
1619
  };
1612
1620
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-cdbbc18d.js';
1
+ import { r as registerInstance, h } from './index-96dd111f.js';
2
2
 
3
3
  const mentionGroupCounterCss = ":host(limebb-mention-group-counter){order:2;margin-right:-0.5rem;box-sizing:border-box;transition:background-color 0.2s ease;min-width:fit-content;font-size:smaller;border-radius:9rem;cursor:help;padding:0.25rem 0.5rem;line-height:1;border:1px solid rgb(var(--contrast-500))}:host(limebb-mention-group-counter:hover){border-color:rgb(var(--contrast-100));background-color:rgb(var(--contrast-600))}";
4
4
  const LimebbMentionGroupCounterStyle0 = mentionGroupCounterCss;
@@ -1,13 +1,13 @@
1
- import { r as registerInstance, g as getElement, h } from './index-cdbbc18d.js';
2
- import { c } from './index.esm-5e14dac9.js';
1
+ import { r as registerInstance, g as getElement, h } from './index-96dd111f.js';
2
+ import { c } from './index.esm-10a8f67c.js';
3
3
 
4
4
  /**
5
5
  * Find the closest parent element matching the given predicate
6
6
  *
7
- * @param {HTMLElement} element - the element to check if it matches the given
7
+ * @param element - the element to check if it matches the given
8
8
  * predicate
9
- * @param {Function} predicate - predicate function
10
- * @returns {HTMLElement | undefined} the matching element if it is found
9
+ * @param predicate - predicate function
10
+ * @returns the matching element if it is found
11
11
  */
12
12
  function findParentElement(element, predicate) {
13
13
  if (predicate(element)) {
@@ -59,7 +59,6 @@ const Mention = class {
59
59
  await repository.loadObject(this.limetype, this.objectid);
60
60
  }
61
61
  catch (_a) {
62
- // eslint-disable-next-line no-console
63
62
  console.error('Could not load mentioned object');
64
63
  }
65
64
  this.limeobject = repository.getObject(this.limetype, this.objectid);
@@ -1,6 +1,6 @@
1
- import { r as registerInstance, h, c as createEvent } from './index-cdbbc18d.js';
1
+ import { r as registerInstance, h, c as createEvent } from './index-96dd111f.js';
2
2
 
3
- const navigationButtonCss = "@charset \"UTF-8\";.navigation-button{all:unset;isolation:isolate;position:relative;display:flex;justify-content:center;align-items:center;height:1.875rem;width:1.875rem;border-radius:50%;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(--navigation-button-background-color, var(--lime-elevated-surface-background-color))}.navigation-button:hover,.navigation-button:focus,.navigation-button:focus-visible{will-change:color, background-color, box-shadow, transform}.navigation-button: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)}.navigation-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)}.navigation-button:hover,.navigation-button:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.navigation-button:focus{outline:none}.navigation-button:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}.navigation-button limel-icon{transition:color 0.2s ease, transform 0.2s cubic-bezier(0.84, 0.15, 0.52, 1.42);color:var(--header-menu-icon-color);width:1.25rem}.newTab limel-icon{transition:transform 0.2s ease;transform:scale(0.8);z-index:3}.newTab:before{z-index:2}.newTab::after{z-index:1}.newTab:before,.newTab:after{content:\"\";transition:transform 0.2s ease, border-color 0.2s ease;position:absolute;width:0.875rem;height:0.875rem;border:1px solid rgb(var(--contrast-900));background-color:var(--navigation-button-background-color, rgb(var(--contrast-100)))}.newTab:hover limel-icon{color:var(--mdc-theme-primary);transform:translate3d(-0.1rem, 0.1rem, 0) scale(1)}.newTab:hover:before{transform:translate3d(0.125rem, -0.125rem, 0);border-color:rgb(var(--contrast-1000));box-shadow:var(--shadow-depth-8)}.newTab:hover:after{transform:translate3d(-0.15rem, 0.15rem, 0) scale(0.9);border-color:rgb(var(--contrast-700))}.expand:after{transition:transform 0.2s ease;content:\"\";position:absolute;z-index:1;background-color:var(--navigation-button-background-color, rgb(var(--contrast-100)));width:0.75rem;height:0.75rem}.expand:hover limel-icon{color:var(--mdc-theme-primary)}.expand:hover:after{transform:scale(0.5)}.expand:hover limel-icon{transform:scale(1.18)}.minimize:before,.minimize:after,.maximize:before,.maximize:after{content:\"\";transition:transform 0.3s ease-out 0.15s, background-color 0.1s ease}.minimize limel-icon,.maximize limel-icon{transition:transform 0.2s ease 0.1s}.minimize:before,.maximize:after,.maximize:hover:before{transform:scaleY(1) scaleX(1);z-index:-1;box-sizing:border-box;position:absolute;width:70%;height:60%;border-radius:0.25rem;transform-origin:bottom}.minimize:hover:before,.maximize:before{transition:transform 0.3s ease-out 0.15s, background-color 0.1s ease;transform:scaleY(0.3) scaleX(0.7);background-color:rgb(var(--contrast-500))}.minimize:hover limel-icon,.maximize limel-icon{transform:scaleX(0.8) translate3d(0, 0.4rem, 0)}.maximize limel-icon{color:rgb(var(--contrast-900))}.maximize:hover limel-icon{color:currentColor;transform:scaleX(1.1) translate3d(0, -0.1rem, 0)}.maximize:after{z-index:-2;border:1px dashed rgb(var(--contrast-800))}.close limel-icon{transition:transform 0.2s ease, color 0.2s ease}.close:before,.close:after{transition-delay:0.1s;content:\"\";position:absolute;inset:0;border-radius:50%;opacity:0}.close:before{transition:transform 0.3s ease, opacity 0.3s ease;background-color:rgb(var(--color-orange-dark))}.close:after{transition:transform 0.6s ease, opacity 0.6s ease;background-color:rgb(var(--color-orange-light))}.close:hover limel-icon{color:rgb(var(--color-white));transform:scale(0.7) rotate(90deg)}.close:hover:before{opacity:1;transform:scale(0.4)}.close:hover:after{opacity:0.4;transform:scale(0.6)}.float:after{transition:width 0.2s ease-out, opacity 0.2s ease;content:\"\";position:absolute;inset:0 0.5rem 0 auto;border-radius:1px;opacity:0.8;transform:translate3d(0, 0, 0);background-color:rgb(var(--contrast-800));width:0.125rem;height:0.6rem;margin:auto}.float:hover:after{width:0.4rem;opacity:1;transform:translate3d(0, 0, 0)}";
3
+ const navigationButtonCss = "@charset \"UTF-8\";.navigation-button{all:unset;isolation:isolate;position:relative;display:flex;justify-content:center;align-items:center;height:1.875rem;width:1.875rem;border-radius:50%;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(--navigation-button-background-color, var(--lime-elevated-surface-background-color))}.navigation-button:hover,.navigation-button:focus,.navigation-button:focus-visible{will-change:color, background-color, box-shadow, transform}.navigation-button: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)}.navigation-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)}.navigation-button:hover,.navigation-button:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.navigation-button:focus{outline:none}.navigation-button:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}.navigation-button limel-icon{transition:color 0.2s ease, transform 0.2s cubic-bezier(0.84, 0.15, 0.52, 1.42);color:var(--header-menu-icon-color);width:1.25rem}.newTab limel-icon{transition:transform 0.2s ease;transform:scale(0.8);z-index:3}.newTab:before{z-index:2}.newTab::after{z-index:1}.newTab:before,.newTab:after{content:\"\";transition:transform 0.2s ease, border-color 0.2s ease;position:absolute;width:0.875rem;height:0.875rem;outline:1.5px solid rgb(var(--contrast-900));border-radius:1px;background-color:var(--navigation-button-background-color, rgb(var(--contrast-100)))}.newTab:hover limel-icon{color:var(--mdc-theme-primary);transform:translate3d(-0.1rem, 0.1rem, 0) scale(1)}.newTab:hover:before{transform:translate3d(0.125rem, -0.125rem, 0);border-color:rgb(var(--contrast-1000));box-shadow:var(--shadow-depth-8)}.newTab:hover:after{transform:translate3d(-0.15rem, 0.15rem, 0) scale(0.9);border-color:rgb(var(--contrast-700))}.expand:after{transition:transform 0.2s ease;content:\"\";position:absolute;z-index:1;background-color:var(--navigation-button-background-color, rgb(var(--contrast-100)));width:0.75rem;height:0.75rem}.expand:hover limel-icon{color:var(--mdc-theme-primary)}.expand:hover:after{transform:scale(0.5)}.expand:hover limel-icon{transform:scale(1.18)}.minimize:before,.minimize:after,.maximize:before,.maximize:after{content:\"\";transition:transform 0.3s ease-out 0.15s, background-color 0.1s ease}.minimize limel-icon,.maximize limel-icon{transition:transform 0.2s ease 0.1s}.minimize:before,.maximize:after,.maximize:hover:before{transform:scaleY(1) scaleX(1);z-index:-1;box-sizing:border-box;position:absolute;width:70%;height:60%;border-radius:0.25rem;transform-origin:bottom}.minimize:hover:before,.maximize:before{transition:transform 0.3s ease-out 0.15s, background-color 0.1s ease;transform:scaleY(0.3) scaleX(0.7);background-color:rgb(var(--contrast-500))}.minimize:hover limel-icon,.maximize limel-icon{transform:scaleX(0.8) translate3d(0, 0.4rem, 0)}.maximize limel-icon{color:rgb(var(--contrast-900))}.maximize:hover limel-icon{color:currentColor;transform:scaleX(1.1) translate3d(0, -0.1rem, 0)}.maximize:after{z-index:-2;border:1px dashed rgb(var(--contrast-800))}.close limel-icon{transition:transform 0.2s ease, color 0.2s ease}.close:before,.close:after{transition-delay:0.1s;content:\"\";position:absolute;inset:0;border-radius:50%;opacity:0}.close:before{transition:transform 0.3s ease, opacity 0.3s ease;background-color:rgb(var(--color-orange-dark))}.close:after{transition:transform 0.6s ease, opacity 0.6s ease;background-color:rgb(var(--color-orange-light))}.close:hover limel-icon{color:rgb(var(--color-white));transform:scale(0.7) rotate(90deg)}.close:hover:before{opacity:1;transform:scale(0.4)}.close:hover:after{opacity:0.4;transform:scale(0.6)}.float:after{transition:width 0.2s ease-out, opacity 0.2s ease;content:\"\";position:absolute;inset:0 0.5rem 0 auto;border-radius:1px;opacity:0.8;transform:translate3d(0, 0, 0);background-color:rgb(var(--contrast-800));width:0.125rem;height:0.6rem;margin:auto}.float:hover:after{width:0.4rem;opacity:1;transform:translate3d(0, 0, 0)}";
4
4
  const LimebbNavigationButtonStyle0 = navigationButtonCss;
5
5
 
6
6
  const ICONS = {
@@ -120,14 +120,14 @@ const SummaryPopover = class {
120
120
  top: '0.125rem',
121
121
  right: '0.125rem',
122
122
  };
123
- return (h("limel-popover", { key: '74e4b8de041fc9cc7b3399981a7d31a5410c5256', style: {
123
+ return (h("limel-popover", { key: '8c2dc81886054c0d660960afc0ada098a47cb4bc', style: {
124
124
  '--limebb-summary-popover-timeout': `${this.triggerDelay}ms`,
125
- }, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("div", { key: '3e0c73d427cfa2e3c00676b14b53426599223ed2', slot: "trigger", tabIndex: 0, onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocus: this.openPopoverWithDelay }, h("slot", { key: 'f84cd9504c8707e00d98bac74efdcf570a72c3fd', name: "trigger" }), h("div", { key: '3d106b4033246c3db9d27ae251f18f346366f29f', class: "opening-countdown-indicator" })), h("limel-card", { key: 'f23a6ee9b08ff10b270cb411a5ec2e212a3bd3ab', style: {
125
+ }, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("div", { key: '2813f920e6e674c514f7f1d0522317604fc5c4b0', slot: "trigger", tabIndex: 0, onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocus: this.openPopoverWithDelay }, h("slot", { key: 'ba80423f3aa45bfe365da5a930040819f4232f02', name: "trigger" }), h("div", { key: 'c9687280e199d2688594c5293a754d7fb839b59a', class: "opening-countdown-indicator" })), h("limel-card", { key: '6e1374e11f1aa90bf854cb53922a80e01ff2cfd7', style: {
126
126
  'max-width': this.popoverMaxWidth,
127
127
  'max-height': this.popoverMaxHeight,
128
128
  'min-width': '7rem',
129
129
  'min-height': '3rem',
130
- }, orientation: "landscape", heading: this.heading, subheading: this.subheading, icon: this.icon, value: this.value, image: this.image, actions: this.actions, onActionSelected: this.handleSelected }, h("limebb-navigation-button", { key: '015c7e0054a544de06554b2b9c86db40262e800f', slot: "component", type: "close", style: closeButtonStyle, tooltipLabel: "Close", tooltipHelperLabel: "Esc", onClick: this.handleCloseClick }))));
130
+ }, orientation: "landscape", heading: this.heading, subheading: this.subheading, icon: this.icon, value: this.value, image: this.image, actions: this.actions, onActionSelected: this.handleSelected }, h("limebb-navigation-button", { key: 'c1ca522a7908db6221fd11fa5dd24905120998e5', slot: "component", type: "close", style: closeButtonStyle, tooltipLabel: "Close", tooltipHelperLabel: "Esc", onClick: this.handleCloseClick }))));
131
131
  }
132
132
  };
133
133
  SummaryPopover.currentOpenPopover = null;
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-cdbbc18d.js';
2
- import { c } from './index.esm-5e14dac9.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-96dd111f.js';
2
+ import { c } from './index.esm-10a8f67c.js';
3
3
 
4
4
  const notificationItemCss = "@charset \"UTF-8\";*{box-sizing:border-box}:host(limebb-notification-item){isolation:isolate;position:relative;box-sizing:border-box;display:flex;flex-direction:column;gap:0.25rem;margin-left:0.5rem;border-radius:0.75rem;border:1px solid rgb(var(--contrast-500))}:host(limebb-notification-item):before{content:\"\";display:block;position:absolute;left:-1rem;top:0.85rem;border-radius:50%;height:0.5rem;width:0.5rem;transition:background-color 0.2s ease, scale 0.2s cubic-bezier(0.82, 0.3, 0.14, 1.36);scale:var(--limebb-notification-item-unread-badge-scale, 0.6);background-color:var(--limebb-notification-item-unread-badge-color, transparent)}:host(limebb-notification-item:hover) .timestamp{color:rgb(var(--contrast-1100))}:host(limebb-notification-item:hover) .body-text{opacity:1}.header{display:flex;align-items:center;gap:0.25rem;min-height:2rem;padding:0 0 0 0.25rem;margin-bottom:0.25rem}.header:not(:has(.icon)){padding-left:0.75rem}.header:not(:has(.unpromoted-actions-menu)){padding-right:0.5rem}.caption,.timestamp{font-size:0.75rem}.caption{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;flex-grow:1;font-weight:600;color:rgb(var(--contrast-900))}.timestamp{flex-shrink:0;margin-left:auto;transition:color 0.4s ease, opacity 0.2s ease;color:rgb(var(--contrast-900))}.headline{display:flex;gap:0.25rem;align-items:center}.content{display:flex;min-width:0;gap:0.5rem;padding:0 0.75rem 0.5rem 0.75rem}.heading{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:2.5rem;font-size:0.875rem;--markdown-hyperlink-color:var(--mdc-theme-primary);--markdown-hyperlink-color--hovered:rgb(var(--color-teal-light))}.body{display:flex;flex-direction:column;gap:0.5rem}.body-text{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:3;max-height:4.25rem;transition:opacity 0.2s ease;opacity:0.7}.icon{--icon-background-color:var(--limebb-feed-background-color);flex-shrink:0;width:1.5rem;padding:0.125rem}.author-avatar{border-radius:50%;width:2rem;height:2rem;object-fit:cover;margin-top:auto;margin-right:-0.25rem;margin-left:auto;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{--button-shadow-normal:none;margin-left:-1rem;margin-bottom:-0.5rem}";
5
5
  const LimebbNotificationItemStyle0 = notificationItemCss;
@@ -1,14 +1,14 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-cdbbc18d.js';
2
- import { c } from './index.esm-5e14dac9.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-96dd111f.js';
2
+ import { c } from './index.esm-10a8f67c.js';
3
3
 
4
4
  /**
5
5
  * Processes a list of notifications by adding date headers and a "new items" indicator.
6
6
  *
7
- * @param {NotificationItem[]} items - The list of notification items to process. These items must be pre-sorted by their `timestamp` in descending order.
8
- * @param {DateTimeFormatter} dateTimeFormatter - A service used to format dates for the date headers.
9
- * @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.
7
+ * @param items - The list of notification items to process. These items must be pre-sorted by their `timestamp` in descending order.
8
+ * @param dateTimeFormatter - A service used to format dates for the date headers.
9
+ * @param lastVisitedTimestamp - The timestamp of the user's last visit. This is used to determine where the "new items" indicator should be placed.
10
10
  *
11
- * @returns {ProcessedItem[]} An array of processed items, including notifications, date headers, and a "new items" indicator if applicable.
11
+ * @returns An array of processed items, including notifications, date headers, and a "new items" indicator if applicable.
12
12
  *
13
13
  * @example
14
14
  * const processedItems = processNotificationItems(
@@ -47,18 +47,27 @@ function processNotificationItems(items, dateTimeFormatter, lastVisitedTimestamp
47
47
  return finalContext.processedItems;
48
48
  }
49
49
  function createPipeline(initialContext, processors) {
50
+ // eslint-disable-next-line unicorn/no-array-reduce
50
51
  return processors.reduce((context, processor) => processor(context), initialContext);
51
52
  }
53
+ /**
54
+ *
55
+ * @param context
56
+ */
52
57
  function insertNotifications(context) {
53
- context.items.forEach((item) => {
58
+ for (const item of context.items) {
54
59
  context.processedItems.push({ type: 'notification', item: item });
55
- });
60
+ }
56
61
  return context;
57
62
  }
63
+ /**
64
+ *
65
+ * @param context
66
+ */
58
67
  function insertNewItemIndicator(context) {
59
68
  const processedWithIndicator = [];
60
69
  let newItemIndicatorInserted = context.newItemIndicatorInserted;
61
- context.processedItems.forEach((item) => {
70
+ for (const item of context.processedItems) {
62
71
  if (item.type === 'notification' &&
63
72
  context.lastVisitedTimestamp &&
64
73
  !newItemIndicatorInserted &&
@@ -70,11 +79,16 @@ function insertNewItemIndicator(context) {
70
79
  }
71
80
  // Push the current item to the new array
72
81
  processedWithIndicator.push(item);
73
- });
82
+ }
74
83
  context.processedItems = processedWithIndicator;
75
84
  context.newItemIndicatorInserted = newItemIndicatorInserted;
76
85
  return context;
77
86
  }
87
+ /**
88
+ *
89
+ * @param context
90
+ */
91
+ // eslint-disable-next-line sonarjs/cognitive-complexity
78
92
  function insertDateGroups(context) {
79
93
  const newProcessedItems = [];
80
94
  let currentGroup = null;
@@ -120,7 +134,7 @@ function insertDateGroups(context) {
120
134
  return Object.assign(Object.assign({}, context), { processedItems: newProcessedItems });
121
135
  }
122
136
 
123
- const notificationListCss = "@charset \"UTF-8\";:host(limebb-notification-list){--limebb-notification-list-background-color:var(\n --notification-list-background-color,\n rgb(var(--contrast-300))\n );display:flex;flex-direction:column;gap:1rem;max-width:45rem;background-color:var(--limebb-notification-list-background-color);padding:0.5rem}limebb-notification-item:focus{outline:none}limebb-notification-item:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}limebb-notification-item:not(.is-read){--limebb-notification-item-unread-badge-color:rgb(\n var(--color-red-default)\n );--limebb-notification-item-unread-badge-scale:1;background-color:rgb(var(--contrast-100)) !important}limebb-notification-item.is-clickable{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}limebb-notification-item.is-clickable:hover,limebb-notification-item.is-clickable:focus,limebb-notification-item.is-clickable:focus-visible{will-change:color, background-color, box-shadow, transform}limebb-notification-item.is-clickable: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-notification-item.is-clickable: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-notification-item.is-clickable:hover,limebb-notification-item.is-clickable:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}limebb-notification-item.is-clickable:hover{border-color:transparent}limebb-notification-item.is-read{border-color:rgb(var(--contrast-600));background-color:rgb(var(--contrast-500))}limebb-notification-item.is-selected{box-shadow:var(--shadow-focused-state)}limebb-notification-item.is-selected:hover{box-shadow:var(--shadow-focused-state), var(--button-shadow-hovered)}limel-spinner{align-self:center;justify-self:center;margin:auto}.date-group{isolation:isolate;display:flex;flex-direction:column;gap:0.5rem}.date-heading{position:sticky;z-index:1;top:0.25rem;display:flex;border-radius:9rem;padding:0.25rem 0.5rem;margin:0;width:fit-content;font-size:0.75rem;line-height:1;color:rgb(var(--contrast-900));backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem);transition:color 0.2s ease, border-color 0.4s ease}.date-heading:hover{color:rgb(var(--contrast-1000));border-color:rgb(var(--contrast-500))}.date-heading:hover:before{opacity:1}.date-heading:before{transition:opacity 0.2s ease;content:\"\";position:absolute;z-index:-1;inset:0;opacity:0.6;border-radius:inherit;background-color:var(--limebb-notification-list-background-color)}.new-items-indicator{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:flex-end;margin:0.25rem 0}.new-items-indicator hr{border:none;position:absolute;width:100%;height:1px;background-color:rgb(var(--color-red-lighter))}.new-items-indicator h3{z-index:1;padding:0 0.5rem;border-radius:1rem;margin:0 1rem;font-size:small;line-height:0.75rem;text-transform:lowercase;color:rgb(var(--color-red-default));background-color:var(--limebb-notification-list-background-color)}";
137
+ const notificationListCss = "@charset \"UTF-8\";:host(limebb-notification-list){--limebb-notification-list-background-color:var(\n --notification-list-background-color,\n rgb(var(--contrast-300))\n );display:flex;flex-direction:column;gap:1rem;max-width:45rem;background-color:var(--limebb-notification-list-background-color);padding:0.5rem}limebb-notification-item:focus{outline:none}limebb-notification-item:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}limebb-notification-item:not(.is-read){--limebb-notification-item-unread-badge-color:rgb(\n var(--color-red-default)\n );--limebb-notification-item-unread-badge-scale:1;background-color:rgb(var(--contrast-100)) !important}limebb-notification-item.is-clickable{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}limebb-notification-item.is-clickable:hover,limebb-notification-item.is-clickable:focus,limebb-notification-item.is-clickable:focus-visible{will-change:color, background-color, box-shadow, transform}limebb-notification-item.is-clickable: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-notification-item.is-clickable: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-notification-item.is-clickable:hover,limebb-notification-item.is-clickable:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}limebb-notification-item.is-clickable:hover{border-color:transparent}limebb-notification-item.is-read{border-color:rgb(var(--contrast-600));background-color:rgb(var(--contrast-500))}limebb-notification-item.is-selected{box-shadow:var(--shadow-focused-state)}limebb-notification-item.is-selected:hover{box-shadow:var(--shadow-focused-state), var(--button-shadow-hovered)}limel-spinner{align-self:center;justify-self:center;margin:auto}.date-group{isolation:isolate;display:flex;flex-direction:column;gap:0.5rem}.date-heading{position:sticky;z-index:1;top:0.25rem;display:flex;border-radius:9rem;padding:0.25rem 0.5rem;margin:0;width:fit-content;font-size:0.75rem;line-height:1;color:rgb(var(--contrast-900));backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem);transition:color 0.2s ease, border-color 0.4s ease}.date-heading:hover{color:rgb(var(--contrast-1000));border-color:rgb(var(--contrast-500))}.date-heading:hover:before{opacity:1}.date-heading:before{transition:opacity 0.2s ease;content:\"\";position:absolute;z-index:-1;inset:0;opacity:0.6;border-radius:inherit;background-color:var(--limebb-notification-list-background-color)}.new-items-indicator{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:flex-end;margin:0.25rem 0}.new-items-indicator hr{border:none;position:absolute;width:100%;height:1px;background-color:rgb(var(--color-red-lighter))}.new-items-indicator h3{z-index:1;padding:0 0.5rem;border-radius:1rem;margin:0 1rem;font-size:small;line-height:0.75rem;text-transform:lowercase;color:rgb(var(--color-red-default));background-color:var(--limebb-notification-list-background-color)}";
124
138
  const LimebbNotificationListStyle0 = notificationListCss;
125
139
 
126
140
  const NotificationList = class {
@@ -158,12 +172,15 @@ const NotificationList = class {
158
172
  renderNotificationItems() {
159
173
  return this.processedItems.map((item) => {
160
174
  switch (item.type) {
161
- case 'group':
175
+ case 'group': {
162
176
  return this.renderGroup(item);
163
- case 'newItemIndicator':
177
+ }
178
+ case 'newItemIndicator': {
164
179
  return this.renderIndicator();
165
- default:
180
+ }
181
+ default: {
166
182
  return null;
183
+ }
167
184
  }
168
185
  });
169
186
  }