@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
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3da101cc.js');
6
- const percentageClass = require('./percentage-class-9decca4f.js');
5
+ const index = require('./index-ff255a0d.js');
6
+ const percentageClass = require('./percentage-class-e4f0a52d.js');
7
7
 
8
8
  const percentageVisualizerCss = "@charset \"UTF-8\";*,::before,::after{box-sizing:border-box}:host(limebb-percentage-visualizer){width:100%}limel-notched-outline:not([invalid]:not([invalid=false])) .limel-notched-outline--outlines{--limel-notched-outline-border-color:transparent}div[slot=content]{display:flex;align-items:center;gap:0.5rem;border-radius:inherit;background-color:transparent !important}div[slot=content]:focus{outline:none}div[slot=content]:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}:host(limebb-percentage-visualizer[invalid]:not([invalid=false])) div[slot=content]{border-color:rgb(var(--color-red-default))}:host(limebb-percentage-visualizer):has(label) div[slot=content]{min-height:2.5rem;padding:0 0.375rem 0 1rem}.percentage-text{flex-shrink:0;min-width:2.5rem}:host([range-min^=\"-\"]) .percentage-text{min-width:3.75rem}.percent-sign{opacity:0.4}.zero-point{content:\"\";position:absolute;transform:translateX(-50%);left:var(--limebb-percentage-visualizer-zero-point-position);height:0.25rem;width:0.25rem;border-radius:50%;box-shadow:0 0 0 0.125rem var(--limebb-percentage-visualizer-zero-point-color, rgb(var(--contrast-1200), 0.3));background-color:var(--limebb-percentage-visualizer-zero-point-color, rgb(var(--contrast-200), 0.9))}.percentage-bar{overflow:hidden;flex-grow:1;position:relative;display:flex;align-items:center;height:0.5rem;min-width:2rem;border-radius:0.5rem;background-color:rgb(var(--contrast-800), 0.6)}.percentage-fill{transition:width 0.2s ease;position:absolute;margin:auto;left:var(--limebb-percentage-visualizer-zero-point-position, 0);rotate:var(--limebb-percentage-visualizer-rotate, 0deg);transform-origin:left center;width:var(--limebb-percentage-visualizer-width);height:100%;border-radius:0.5rem}:host(limebb-percentage-visualizer:focus),:host(limebb-percentage-visualizer:focus-visible),:host(limebb-percentage-visualizer:focus-within){--limel-h-l-grid-template-rows-transition-speed:0.46s;--limel-h-l-grid-template-rows:1fr}:host(limebb-percentage-visualizer){--limel-h-l-grid-template-rows-transition-speed:0.3s;--limel-h-l-grid-template-rows:0fr}:host(limebb-percentage-visualizer:focus) limel-helper-line,:host(limebb-percentage-visualizer:focus-visible) limel-helper-line,:host(limebb-percentage-visualizer:focus-within) limel-helper-line,:host(limebb-percentage-visualizer:hover) limel-helper-line{will-change:grid-template-rows}.percentage-fill{background-color:var(--percentage-visualizer-color, var(--limebb-percentage-visualizer-color, var(--mdc-theme-primary)))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-200or-larger-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-darker))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-200to100-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-dark))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-100to90-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-dark))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-90to80-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-dark))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-80to70-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-default))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-70to60-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-default))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-60to50-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-coral-default))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-50to40-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-coral-default))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-40to30-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-orange-default))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-30to20-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-orange-default))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-20to10-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-amber-default))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-10to0-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-amber-default))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-0) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--contrast-800))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-0to10-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-yellow-default))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-10to20-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-yellow-default))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-20to30-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-grass-default))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-30to40-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-grass-default))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-40to50-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-lime-default))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-50to60-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-lime-default))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-60to70-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-default))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-70to80-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-default))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-80to90-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-dark))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-90to100-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-dark))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-100to200-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-dark))}:host([range-min^=\"-\"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-200or-larger-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-darker))}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-0) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--contrast-800))}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-0to10-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--0to10)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-10to20-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--10to20)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-20to30-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--20to30)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-30to40-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--30to40)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-40to50-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--40to50)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-50to60-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--50to60)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-60to70-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--60to70)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-70to80-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--70to80)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-80to90-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--80to90)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-90to100-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--90to100)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-100to200-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-dark))}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-200or-larger-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-darker))}";
9
9
  const LimebbPercentageVisualizerStyle0 = percentageVisualizerCss;
@@ -72,18 +72,17 @@ const PercentageVisualizer = class {
72
72
  }
73
73
  triggerRangeWarning() {
74
74
  if (this.rangeMin >= this.rangeMax) {
75
- // eslint-disable-next-line no-console
76
75
  console.warn(`[limebb-percentage-visualizer] Invalid range: rangeMin (${this.rangeMin}) must be less than rangeMax (${this.rangeMax}). Visualization may not appear as expected.`);
77
76
  }
78
77
  }
79
78
  render() {
80
79
  const normalizedValue = this.getNormalizedValue();
81
80
  const zeroPoint = this.getZeroPointPosition();
82
- return (index.h(index.Host, { key: 'c279e1a4d25555af3928cccec63f3ff65c34ca61', class: this.getContainerClassList(), style: {
81
+ return (index.h(index.Host, { key: '454366891b8fe6860a43efaf8c1b96c9a4689962', class: this.getContainerClassList(), style: {
83
82
  '--limebb-percentage-visualizer-zero-point-position': `${zeroPoint}%`,
84
83
  '--limebb-percentage-visualizer-width': `${Math.abs(normalizedValue)}%`,
85
84
  '--limebb-percentage-visualizer-rotate': `${normalizedValue >= 0 ? '0deg' : '180deg'}`,
86
- } }, index.h("limel-notched-outline", { key: '3044031cdb7a169cb89957c7ee99609716e0f66d', tabIndex: 0, role: "meter", "aria-valuemin": this.rangeMin, "aria-valuemax": this.rangeMax, "aria-valuenow": this.numValue, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-controls": this.helperTextId }, index.h("div", { key: 'c139e8add053c9c559cca82f533e92e7769842ad', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
85
+ } }, index.h("limel-notched-outline", { key: 'c827cb818ed190f6a7b6fa33e6b1c878b5682e42', tabIndex: 0, role: "meter", "aria-valuemin": this.rangeMin, "aria-valuemax": this.rangeMax, "aria-valuenow": this.numValue, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-controls": this.helperTextId }, index.h("div", { key: '7c6dcc138c4bca114d4d83af026c93f8611339b5', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
87
86
  }
88
87
  renderVisualization() {
89
88
  if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {
@@ -165,15 +164,15 @@ const PercentageVisualizer = class {
165
164
  }
166
165
  unifyMinusSign(input) {
167
166
  // Replace Unicode minus sign (−) with ASCII hyphen-minus (-)
168
- return input.replace(/−/g, '-');
167
+ return input.replaceAll('−', '-');
169
168
  }
170
169
  convertToUnicodeMinus(input) {
171
170
  // Replace ASCII hyphen-minus (-) with Unicode minus sign (−)
172
- return input.replace(/-/g, '−');
171
+ return input.replaceAll('-', '−');
173
172
  }
174
173
  parseValue(value) {
175
174
  if (typeof value === 'string') {
176
- return parseFloat(this.unifyMinusSign(value));
175
+ return Number.parseFloat(this.unifyMinusSign(value));
177
176
  }
178
177
  return value;
179
178
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3da101cc.js');
5
+ const index = require('./index-ff255a0d.js');
6
6
  const keycodes = require('./keycodes-88522d7f.js');
7
7
 
8
8
  const textEditorPickerCss = ":host(limebb-text-editor-picker){animation:fade-in 0.3s ease forwards;animation-delay:0.1s;display:block;max-width:calc(100vw - 2rem);padding:0.125rem;border-radius:0.5rem;background-color:rgba(var(--contrast-100));box-shadow:var(--shadow-depth-16)}limel-menu-list{position:relative}limel-spinner{margin:0 auto}.spinner-in-list{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}@keyframes fade-in{0%{opacity:0}100%{opacity:1}}";
@@ -2,14 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3da101cc.js');
6
- const index_esm = require('./index.esm-d6513e37.js');
5
+ const index = require('./index-ff255a0d.js');
6
+ const index_esm = require('./index.esm-9effb196.js');
7
7
  const keycodes = require('./keycodes-88522d7f.js');
8
8
  const _Uint8Array = require('./_Uint8Array-1e99726d.js');
9
9
  const _MapCache = require('./_MapCache-2e84a981.js');
10
10
  const _Map = require('./_Map-60aae0ed.js');
11
11
  const _getTag = require('./_getTag-8809c5c6.js');
12
- const nonNull = require('./non-null-b8d9b4b4.js');
12
+ const nonNull = require('./non-null-3bf14aa1.js');
13
13
 
14
14
  /** Used to match a single whitespace character. */
15
15
  var reWhitespace = /\s/;
@@ -1083,6 +1083,11 @@ const getItemIndex = (direction, currentItemIndex, numberOfItems) => {
1083
1083
  const increment = direction === keycodes.ARROW_DOWN ? 1 : -1;
1084
1084
  return (currentItemIndex + increment + numberOfItems) % numberOfItems;
1085
1085
  };
1086
+ /**
1087
+ *
1088
+ * @param items
1089
+ * @param highlightedItemIndex
1090
+ */
1086
1091
  function getUpdatedItems(items, highlightedItemIndex) {
1087
1092
  return items.map((item, index) => {
1088
1093
  const newItem = cloneDeep(item);
@@ -1090,6 +1095,7 @@ function getUpdatedItems(items, highlightedItemIndex) {
1090
1095
  });
1091
1096
  }
1092
1097
 
1098
+ /* eslint-disable sonarjs/pseudo-random */
1093
1099
  const createRandomString = () => {
1094
1100
  var _a;
1095
1101
  if (!('crypto' in window) ||
@@ -1103,17 +1109,19 @@ function legacyCreateRandomString() {
1103
1109
  const SKIP_LEADING_ZERODOT = 2;
1104
1110
  const ASCII_A = 97;
1105
1111
  const NUMBER_OF_LETTERS = 26;
1106
- return (String.fromCharCode(ASCII_A + Math.floor(Math.random() * NUMBER_OF_LETTERS)) +
1107
- Math.random().toString(USE_HEX).substring(SKIP_LEADING_ZERODOT) +
1108
- Math.random().toString(USE_HEX).substring(SKIP_LEADING_ZERODOT));
1112
+ return (String.fromCodePoint(ASCII_A + Math.floor(Math.random() * NUMBER_OF_LETTERS)) +
1113
+ Math.random()
1114
+ .toString(USE_HEX)
1115
+ .slice(Math.max(0, SKIP_LEADING_ZERODOT)) +
1116
+ Math.random().toString(USE_HEX).slice(Math.max(0, SKIP_LEADING_ZERODOT)));
1109
1117
  }
1110
1118
 
1111
1119
  /**
1112
1120
  * Whether the given object has the given label or not.
1113
1121
  *
1114
- * @param {LimeType|LimeProperty} object the object to check label for
1115
- * @param {string} label the label to check for
1116
- * @returns {boolean} true if the object has the label
1122
+ * @param object the object to check label for
1123
+ * @param label the label to check for
1124
+ * @returns true if the object has the label
1117
1125
  */
1118
1126
  function hasLabel(object, label) {
1119
1127
  return object.label === label;
@@ -1121,8 +1129,8 @@ function hasLabel(object, label) {
1121
1129
  /**
1122
1130
  * Whether the given property is a hasmany relation or not.
1123
1131
  *
1124
- * @param {LimeProperty} property the property to check
1125
- * @returns {boolean} true if the property is a hasmany relation
1132
+ * @param property the property to check
1133
+ * @returns true if the property is a hasmany relation
1126
1134
  */
1127
1135
  function isManyRelation(property) {
1128
1136
  return index_esm.De(property) && !index_esm.Me(property);
@@ -1131,9 +1139,9 @@ function isManyRelation(property) {
1131
1139
  * Finds a relation property on the given limetype that is related to a
1132
1140
  * limetype with the given label.
1133
1141
  *
1134
- * @param {LimeType} limetype the limetype to search for the relation property
1135
- * @param {string} label the label of the target limetype to match
1136
- * @returns {LimeProperty|undefined} the relation property or undefined
1142
+ * @param limetype the limetype to search for the relation property
1143
+ * @param label the label of the target limetype to match
1144
+ * @returns the relation property or undefined
1137
1145
  */
1138
1146
  function getRelationProperty(limetype, label) {
1139
1147
  return Object.values(limetype.properties).find((property) => property &&
@@ -1143,21 +1151,20 @@ function getRelationProperty(limetype, label) {
1143
1151
  /**
1144
1152
  * Whether the limetype has a hasmany relation of a limetype with the given label
1145
1153
  *
1146
- * @param {LimeType} limetype the limetype
1147
- * @param {string} relatedLabel the label of the related limetype
1148
- * @returns {boolean} true if the limetype has the hasmany relation
1154
+ * @param limetype the limetype
1155
+ * @param relatedLabel the label of the related limetype
1156
+ * @returns true if the limetype has the hasmany relation
1149
1157
  */
1150
1158
  function hasHasManyRelation(limetype, relatedLabel) {
1151
1159
  const property = getRelationProperty(limetype, relatedLabel);
1152
1160
  return !!property && isManyRelation(property);
1153
1161
  }
1154
1162
 
1155
- /* eslint-disable no-underscore-dangle */
1156
1163
  /**
1157
1164
  * Get the limetypes that should be available for mentions
1158
1165
  *
1159
- * @param {Record<string, LimeType>} limetypes all limetypes
1160
- * @returns {LimeType[]} mention limetypes
1166
+ * @param limetypes all limetypes
1167
+ * @returns mention limetypes
1161
1168
  */
1162
1169
  function getMentionLimetypes(limetypes) {
1163
1170
  return Object.values(limetypes).filter((limetype) => {
@@ -1238,9 +1245,9 @@ class MentionsService {
1238
1245
  .filter((limetype) => !hasLabel(limetype, 'user') &&
1239
1246
  hasHasManyRelation(limetype, 'user'))
1240
1247
  .map((limetype) => this.getGroupCounts(limetype));
1241
- (await Promise.all(groupCountsLoads)).forEach((groupCount) => {
1248
+ for (const groupCount of await Promise.all(groupCountsLoads)) {
1242
1249
  Object.assign(this.groupCounts, groupCount);
1243
- });
1250
+ }
1244
1251
  }
1245
1252
  async getGroupCounts(limetype) {
1246
1253
  var _a;
@@ -1269,17 +1276,16 @@ class MentionsService {
1269
1276
  return { [limetypeName]: groupCount };
1270
1277
  }
1271
1278
  catch (error) {
1272
- // eslint-disable-next-line no-console
1273
1279
  console.error(`Error fetching group count for limetype: ${limetype.name}`, error);
1274
1280
  return { [limetypeName]: {} };
1275
1281
  }
1276
1282
  }
1277
1283
  createGroupCount(objects, coworkerPropertyName) {
1278
1284
  const groupCount = {};
1279
- objects.forEach((object) => {
1285
+ for (const object of objects) {
1280
1286
  const { _id: id, [coworkerPropertyName]: aggregateProperty } = object;
1281
1287
  groupCount[id] = aggregateProperty.count;
1282
- });
1288
+ }
1283
1289
  return groupCount;
1284
1290
  }
1285
1291
  createSearchListItems(searchObjects = []) {
@@ -1327,7 +1333,7 @@ class FileUpload {
1327
1333
  this.http = http;
1328
1334
  this.uploadCancelled = false;
1329
1335
  this.getUrl = (fileid) => {
1330
- return `${CORE_API_PATH}/${FILE_PATH}/${fileid ? fileid : ''}`;
1336
+ return `${CORE_API_PATH}/${FILE_PATH}/${fileid !== null && fileid !== void 0 ? fileid : ''}`;
1331
1337
  };
1332
1338
  }
1333
1339
  async initialize() {
@@ -1362,8 +1368,8 @@ class UploadHandler {
1362
1368
  /**
1363
1369
  * Handles image paste events in the text editor
1364
1370
  *
1365
- * @param {ImageInserter} imageInserter - The image inserter with the file info
1366
- * @returns {Promise<FileWrapper | undefined>} Promise resolving to the uploaded file wrapper or undefined if upload fails
1371
+ * @param imageInserter - The image inserter with the file info
1372
+ * @returns Promise resolving to the uploaded file wrapper or undefined if upload fails
1367
1373
  */
1368
1374
  async handleImagePasted(imageInserter) {
1369
1375
  const fileInfo = imageInserter === null || imageInserter === void 0 ? void 0 : imageInserter.fileInfo;
@@ -1391,8 +1397,8 @@ class UploadHandler {
1391
1397
  * This function parses a URL to find a file ID that appears before
1392
1398
  * '/contents/' at the end of the URL.
1393
1399
  *
1394
- * @param {string} src - The URL string to parse
1395
- * @returns {string | undefined} The extracted file ID or undefined if no match is found
1400
+ * @param src - The URL string to parse
1401
+ * @returns The extracted file ID or undefined if no match is found
1396
1402
  *
1397
1403
  * @example
1398
1404
  * // Returns 123
@@ -1418,8 +1424,8 @@ class UploadHandler {
1418
1424
  /**
1419
1425
  * Validates that the image file size is within limits
1420
1426
  *
1421
- * @param {FileInfo} fileInfo - The file info to validate
1422
- * @returns {boolean} True if file size is valid, false otherwise
1427
+ * @param fileInfo - The file info to validate
1428
+ * @returns True if file size is valid, false otherwise
1423
1429
  */
1424
1430
  validateImageSize(fileInfo) {
1425
1431
  if (!fileInfo.fileContent) {
@@ -1430,8 +1436,8 @@ class UploadHandler {
1430
1436
  /**
1431
1437
  * Creates and uploads a file
1432
1438
  *
1433
- * @param {FileInfo} fileInfo - The file info to upload
1434
- * @returns {Promise<FileWrapper | undefined>} Promise resolving to the uploaded file wrapper or undefined if upload fails
1439
+ * @param fileInfo - The file info to upload
1440
+ * @returns Promise resolving to the uploaded file wrapper or undefined if upload fails
1435
1441
  */
1436
1442
  async createFileUpload(fileInfo) {
1437
1443
  var _a;
@@ -1457,7 +1463,6 @@ class UploadHandler {
1457
1463
  imageUpload.contentType = response.contentType;
1458
1464
  imageUpload.size = response.size;
1459
1465
  imageUpload.state = 'done';
1460
- // eslint-disable-next-line no-underscore-dangle
1461
1466
  imageUpload.href = (_a = response._links) === null || _a === void 0 ? void 0 : _a.contents.href;
1462
1467
  return imageUpload;
1463
1468
  }
@@ -1619,7 +1624,7 @@ const LimeBBTextEditor = class {
1619
1624
  };
1620
1625
  this.findNonSeparatorIndex = (direction, currentIndex, depth = 0) => {
1621
1626
  // Safety check to avoid infinite recursion
1622
- if (!this.items.length || depth > this.items.length) {
1627
+ if (this.items.length === 0 || depth > this.items.length) {
1623
1628
  return currentIndex;
1624
1629
  }
1625
1630
  const nextIndex = getItemIndex(direction, currentIndex, this.items.length);
@@ -1704,7 +1709,6 @@ const LimeBBTextEditor = class {
1704
1709
  triggerHandler.inserter(this.triggerFunction, selectedItem);
1705
1710
  }
1706
1711
  catch (error) {
1707
- // eslint-disable-next-line no-console
1708
1712
  console.error('Error inserting', error);
1709
1713
  }
1710
1714
  this.resetTriggerAndPicker();
@@ -1729,7 +1733,6 @@ const LimeBBTextEditor = class {
1729
1733
  this.items = items;
1730
1734
  }
1731
1735
  catch (error) {
1732
- // eslint-disable-next-line no-console
1733
1736
  console.error('Error searching', error);
1734
1737
  }
1735
1738
  finally {
@@ -1832,7 +1835,7 @@ const LimeBBTextEditor = class {
1832
1835
  }
1833
1836
  render() {
1834
1837
  return [
1835
- index.h("limel-text-editor", { key: '65f1a843efb81de7f5006f49bf4bd912047e73f4', ref: (el) => (this.textEditor = el), tabindex: this.disabled ? -1 : 0, value: this.value, contentType: this.contentType, customElements: this.registeredCustomElements, "aria-disabled": this.disabled, language: this.language, triggers: this.registeredTriggers, onTriggerStart: this.handleTriggerStart, onTriggerStop: this.handleTriggerStop, onTriggerChange: this.handleTriggerChange, onImagePasted: this.handleImagePasted, onMetadataChange: this.handleMetadataChange, ui: this.ui, allowResize: this.allowResize, required: this.required, disabled: this.disabled, readonly: this.readonly, helperText: this.helperText, placeholder: this.placeholder, label: this.label, invalid: this.invalid }),
1838
+ index.h("limel-text-editor", { key: 'af646ab86b401f895b2df8ce307d2b739d356d4c', ref: (el) => (this.textEditor = el), tabindex: this.disabled ? -1 : 0, value: this.value, contentType: this.contentType, customElements: this.registeredCustomElements, "aria-disabled": this.disabled, language: this.language, triggers: this.registeredTriggers, onTriggerStart: this.handleTriggerStart, onTriggerStop: this.handleTriggerStop, onTriggerChange: this.handleTriggerChange, onImagePasted: this.handleImagePasted, onMetadataChange: this.handleMetadataChange, ui: this.ui, allowResize: this.allowResize, required: this.required, disabled: this.disabled, readonly: this.readonly, helperText: this.helperText, placeholder: this.placeholder, label: this.label, invalid: this.invalid }),
1836
1839
  this.renderPicker(),
1837
1840
  ];
1838
1841
  }
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3da101cc.js');
6
- const percentageClass = require('./percentage-class-9decca4f.js');
5
+ const index = require('./index-ff255a0d.js');
6
+ const percentageClass = require('./percentage-class-e4f0a52d.js');
7
7
 
8
8
  const trendIndicatorCss = "@charset \"UTF-8\";*{box-sizing:border-box}:host(limebb-trend-indicator){position:relative;display:block;height:100%;width:100%}limel-notched-outline:not([invalid]:not([invalid=false])) .limel-notched-outline--outlines{--limel-notched-outline-border-color:transparent}div[slot=content]{display:flex;align-items:center;gap:0.5rem;border-radius:inherit;background-color:transparent !important}div[slot=content]:focus{outline:none}div[slot=content]:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}:host(limebb-trend-indicator):has(label) div[slot=content]{min-height:2.5rem;padding:0 0.375rem 0 1rem}:host(limebb-trend-indicator[former-value]) div[slot=content]{cursor:help}div[slot=content] span{flex-shrink:0}.icon{flex-shrink:0;display:flex;transition-property:color, background-color, transform;transition-duration:0.4s;transition-timing-function:ease;width:1.25rem;height:1.25rem;border-radius:50%;padding:0.12rem;color:rgb(var(--color-white));background-color:rgb(var(--color-gray-default), 0.5)}:host(.has-value-40to30-negative) .icon{color:rgb(var(--color-gray-darker))}:host(.has-value-30to20-negative) .icon{color:rgb(var(--color-gray-darker))}:host(.has-value-20to10-negative) .icon{color:rgb(var(--color-gray-darker))}:host(.has-value-10to0-negative) .icon{color:rgb(var(--color-gray-darker))}:host(.has-value-0to10-positive) .icon{color:rgb(var(--color-gray-dark))}:host(.has-value-10to20-positive) .icon{color:rgb(var(--color-gray-dark))}:host(.has-value-20to30-positive) .icon{color:rgb(var(--color-gray-dark))}:host(.has-value-30to40-positive) .icon{color:rgb(var(--color-gray-dark))}:host(.has-value-200or-larger-negative) .icon{background-color:rgb(var(--color-red-darker));transform:rotate(90deg)}:host(.has-value-200to100-negative) .icon{background-color:rgb(var(--color-red-dark));transform:rotate(90deg)}:host(.has-value-100to90-negative) .icon{background-color:rgb(var(--color-red-dark));transform:rotate(90deg)}:host(.has-value-90to80-negative) .icon{background-color:rgb(var(--color-red-dark));transform:rotate(81deg)}:host(.has-value-80to70-negative) .icon{background-color:rgb(var(--color-red-default));transform:rotate(72deg)}:host(.has-value-70to60-negative) .icon{background-color:rgb(var(--color-red-default));transform:rotate(63deg)}:host(.has-value-60to50-negative) .icon{background-color:rgb(var(--color-coral-default));transform:rotate(54deg)}:host(.has-value-50to40-negative) .icon{background-color:rgb(var(--color-coral-default));transform:rotate(45deg)}:host(.has-value-40to30-negative) .icon{background-color:rgb(var(--color-orange-default));transform:rotate(36deg)}:host(.has-value-30to20-negative) .icon{background-color:rgb(var(--color-orange-default));transform:rotate(27deg)}:host(.has-value-20to10-negative) .icon{background-color:rgb(var(--color-amber-default));transform:rotate(18deg)}:host(.has-value-10to0-negative) .icon{background-color:rgb(var(--color-amber-default));transform:rotate(9deg)}:host(.has-value-0) .icon{background-color:rgb(var(--color-gray-default));transform:rotate(0deg)}:host(.has-value-0to10-positive) .icon{background-color:rgb(var(--color-yellow-default));transform:rotate(-9deg)}:host(.has-value-10to20-positive) .icon{background-color:rgb(var(--color-yellow-default));transform:rotate(-18deg)}:host(.has-value-20to30-positive) .icon{background-color:rgb(var(--color-grass-default));transform:rotate(-27deg)}:host(.has-value-30to40-positive) .icon{background-color:rgb(var(--color-grass-default));transform:rotate(-36deg)}:host(.has-value-40to50-positive) .icon{background-color:rgb(var(--color-lime-default));transform:rotate(-45deg)}:host(.has-value-50to60-positive) .icon{background-color:rgb(var(--color-lime-default));transform:rotate(-54deg)}:host(.has-value-60to70-positive) .icon{background-color:rgb(var(--color-teal-default));transform:rotate(-63deg)}:host(.has-value-70to80-positive) .icon{background-color:rgb(var(--color-teal-default));transform:rotate(-72deg)}:host(.has-value-80to90-positive) .icon{background-color:rgb(var(--color-teal-dark));transform:rotate(-81deg)}:host(.has-value-90to100-positive) .icon{background-color:rgb(var(--color-teal-dark));transform:rotate(-90deg)}:host(.has-value-100to200-positive) .icon{background-color:rgb(var(--color-teal-dark));transform:rotate(-90deg)}:host(.has-value-200or-larger-positive) .icon{background-color:rgb(var(--color-teal-darker));transform:rotate(-90deg)}:host(.has-value-0) .icon{background-color:rgb(var(--color-gray-default), 0.5);transform:rotate(0deg)}:host(.has-value-0) .icon polyline{color:transparent}:host(.has-value-200or-larger-negative) .icon:after,:host(.has-value-200or-larger-negative) .icon:before,:host(.has-value-200to100-negative) .icon:after,:host(.has-value-200to100-negative) .icon:before,:host(.has-value-100to200-positive) .icon:after,:host(.has-value-100to200-positive) .icon:before,:host(.has-value-200or-larger-positive) .icon:after,:host(.has-value-200or-larger-positive) .icon:before{transition:border-color 0.6s ease;content:\"\";position:absolute;inset:0;margin:auto;border:1px solid transparent;border-radius:50%}:host(.has-value-200or-larger-negative) .icon:before,:host(.has-value-200to100-negative) .icon:before,:host(.has-value-100to200-positive) .icon:before,:host(.has-value-200or-larger-positive) .icon:before{transform:scale(1.2)}:host(.has-value-200or-larger-negative) .icon:after,:host(.has-value-200to100-negative) .icon:after,:host(.has-value-100to200-positive) .icon:after,:host(.has-value-200or-larger-positive) .icon:after{transform:scale(1.4);opacity:0.4}:host(.has-value-200to100-negative) .icon:before,:host(.has-value-200or-larger-negative) .icon:before{border-color:rgb(var(--color-red-dark))}:host(.has-value-200or-larger-negative) .icon:after{border-color:rgb(var(--color-red-darker))}:host(.has-value-100to200-positive) .icon:before,:host(.has-value-200or-larger-positive) .icon:before{border-color:rgb(var(--color-teal-dark))}:host(.has-value-200or-larger-positive) .icon:after{border-color:rgb(var(--color-teal-darker))}.no-value{transform:translateY(0.5rem)}.growth-unit{padding-left:0.5rem;opacity:0.5}:host(limebb-trend-indicator:focus),:host(limebb-trend-indicator:focus-visible),:host(limebb-trend-indicator:focus-within){--limel-h-l-grid-template-rows-transition-speed:0.46s;--limel-h-l-grid-template-rows:1fr}:host(limebb-trend-indicator){--limel-h-l-grid-template-rows-transition-speed:0.3s;--limel-h-l-grid-template-rows:0fr}:host(limebb-trend-indicator:focus) limel-helper-line,:host(limebb-trend-indicator:focus-visible) limel-helper-line,:host(limebb-trend-indicator:focus-within) limel-helper-line,:host(limebb-trend-indicator:hover) limel-helper-line{will-change:grid-template-rows}";
9
9
  const LimebbTrendIndicatorStyle0 = trendIndicatorCss;
@@ -49,7 +49,7 @@ const TrendIndicator = class {
49
49
  return index.h("span", { class: "no-value" }, "\u2013");
50
50
  }
51
51
  return [
52
- index.h("div", { class: "icon" }, this.getArrowIcon()),
52
+ this.getArrowIcon(),
53
53
  index.h("span", null, this.renderGrowthPercentage(), this.renderGrowthAmount()),
54
54
  ];
55
55
  }
@@ -113,19 +113,19 @@ const TrendIndicator = class {
113
113
  const percentage = (((this.numValue - this.formerValue) /
114
114
  Math.abs(this.formerValue)) *
115
115
  PERCENT).toFixed(DECIMALS);
116
- return parseFloat(percentage);
116
+ return Number.parseFloat(percentage);
117
117
  }
118
118
  unifyMinusSign(input) {
119
119
  // Replace Unicode minus sign (−) with ASCII hyphen-minus (-)
120
- return input.replace(/−/g, '-');
120
+ return input.replaceAll('−', '-');
121
121
  }
122
122
  convertToUnicodeMinus(input) {
123
123
  // Replace ASCII hyphen-minus (-) with Unicode minus sign (−)
124
- return input.replace(/-/g, '−');
124
+ return input.replaceAll('-', '−');
125
125
  }
126
126
  parseValue(value) {
127
127
  if (typeof value === 'string') {
128
- return parseFloat(this.unifyMinusSign(value));
128
+ return Number.parseFloat(this.unifyMinusSign(value));
129
129
  }
130
130
  return value;
131
131
  }
@@ -137,7 +137,7 @@ const TrendIndicator = class {
137
137
  return this.convertToUnicodeMinus(constructedValue);
138
138
  }
139
139
  getArrowIcon() {
140
- return (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 32 32" }, index.h("line", { fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-miterlimit": "10", x1: "26", y1: "16", x2: "4", y2: "16" }), index.h("polyline", { fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-miterlimit": "10", points: "18,7.5 26.5,16 18,24.5 " })));
140
+ return (index.h("limel-icon", { class: "icon", name: "right", "aria-hidden": "true", role: "presentation" }));
141
141
  }
142
142
  static get watchers() { return {
143
143
  "value": ["valueChanged"]
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3da101cc.js');
5
+ const index = require('./index-ff255a0d.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  const defineCustomElements = async (win, options) => {
@@ -1,5 +1,10 @@
1
1
  'use strict';
2
2
 
3
+ /**
4
+ *
5
+ * @param value
6
+ */
7
+ // eslint-disable-next-line unicorn/prefer-native-coercion-functions
3
8
  function isNonNull(value) {
4
9
  return Boolean(value);
5
10
  }
@@ -18,9 +18,9 @@
18
18
  * The returned class names can be used in CSS to apply different colors,
19
19
  * transformations, or other visual treatments based on the percentage range.
20
20
  *
21
- * @param {number|null} value - The percentage value to classify,
21
+ * @param value - The percentage value to classify,
22
22
  * can be positive, negative, or zero
23
- * @returns {string} A class name string representing the percentage range,
23
+ * @returns A class name string representing the percentage range,
24
24
  * or an empty string if value is null
25
25
  */
26
26
  function getPercentageClass(value) {
@@ -165,6 +165,10 @@
165
165
  -webkit-backdrop-filter: blur(0.5rem);
166
166
  }
167
167
 
168
+ limel-ai-avatar.author-avatar {
169
+ background-color: rgb(var(--color-glaucous-darker));
170
+ }
171
+
168
172
  header {
169
173
  display: flex;
170
174
  justify-content: space-between;
@@ -118,6 +118,11 @@ export class ChatListItem {
118
118
  if (!((_a = this.item.author) === null || _a === void 0 ? void 0 : _a.picture)) {
119
119
  return;
120
120
  }
121
+ // If the "picture url" is set to "limel-ai-avatar",
122
+ // we render a limel-ai-avatar component instead of an image.
123
+ if (this.item.author.picture === 'limel-ai-avatar') {
124
+ return h("limel-ai-avatar", { class: "author-avatar" });
125
+ }
121
126
  return (h("img", { class: "author-avatar", loading: "lazy", src: this.item.author.picture }));
122
127
  }
123
128
  renderUnpromotedActionsMenu() {
@@ -1,6 +1,6 @@
1
1
  import { h, Host } from "@stencil/core";
2
2
  import { PlatformServiceName, } from "@limetech/lime-web-components";
3
- import { processChatItems } from "./processChatItems";
3
+ import { processChatItems, } from "./process-chat-items";
4
4
  /**
5
5
  * Chat list
6
6
  * This component displays a list of chat items, and groups them by date.
@@ -50,9 +50,10 @@ export class ChatList {
50
50
  this.handleItemsChange();
51
51
  }
52
52
  render() {
53
- return (h(Host, { key: '7b7df58ebe16c77e0157f7f4e8727bc4c8e7babd', class: {
54
- 'is-empty': !this.items.length && !this.isTypingIndicatorVisible,
55
- }, "aria-busy": this.isBusy(), role: "log" }, this.renderSpinner(), h("div", { key: '6405e99a6022133386c6857851802e830a9256df', class: "typing-indicator-height-animation" }, h("div", { key: 'c120e891885f4f75e37121a03f8ee5ac119c0684' }, this.renderTypingIndicator())), this.renderChatItems()));
53
+ return (h(Host, { key: '3412d92c13b51ad457ec2b070de46cd29372ce0b', class: {
54
+ 'is-empty': this.items.length === 0 &&
55
+ !this.isTypingIndicatorVisible,
56
+ }, "aria-busy": this.isBusy(), role: "log" }, this.renderSpinner(), h("div", { key: '5d87e57a497b5eeae2e2765a1d594aa54222dc0d', class: "typing-indicator-height-animation" }, h("div", { key: '6c430baf03095c83e032cc9c6680d2a897132cb0' }, this.renderTypingIndicator())), this.renderChatItems()));
56
57
  }
57
58
  renderSpinner() {
58
59
  if (!this.loading) {
@@ -69,12 +70,15 @@ export class ChatList {
69
70
  renderChatItems() {
70
71
  return this.processedItems.map((item) => {
71
72
  switch (item.type) {
72
- case 'group':
73
+ case 'group': {
73
74
  return this.renderGroup(item);
74
- case 'newItemIndicator':
75
+ }
76
+ case 'newItemIndicator': {
75
77
  return this.renderIndicator();
76
- default:
78
+ }
79
+ default: {
77
80
  return null;
81
+ }
78
82
  }
79
83
  });
80
84
  }
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * Processes a list of notifications by adding date headers and a "new items" indicator.
3
3
  *
4
- * @param {ChatItem[]} items - The list of notification items to process. These items must be pre-sorted by their `timestamp` in descending order.
5
- * @param {DateTimeFormatter} dateTimeFormatter - A service used to format dates for the date headers.
6
- * @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.
4
+ * @param items - The list of notification items to process. These items must be pre-sorted by their `timestamp` in descending order.
5
+ * @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
7
  *
8
- * @returns {ProcessedItem[]} An array of processed items, including notifications, date headers, and a "new items" indicator if applicable.
8
+ * @returns An array of processed items, including notifications, date headers, and a "new items" indicator if applicable.
9
9
  *
10
10
  * @example
11
11
  * const processedItems = processNotificationItems(
@@ -44,18 +44,27 @@ export function processChatItems(items, dateTimeFormatter, lastVisitedTimestamp)
44
44
  return finalContext.processedItems;
45
45
  }
46
46
  function createPipeline(initialContext, processors) {
47
+ // eslint-disable-next-line unicorn/no-array-reduce
47
48
  return processors.reduce((context, processor) => processor(context), initialContext);
48
49
  }
50
+ /**
51
+ *
52
+ * @param context
53
+ */
49
54
  export function insertNotifications(context) {
50
- context.items.forEach((item) => {
55
+ for (const item of context.items) {
51
56
  context.processedItems.push({ type: 'chat', item: item });
52
- });
57
+ }
53
58
  return context;
54
59
  }
60
+ /**
61
+ *
62
+ * @param context
63
+ */
55
64
  export function insertNewItemIndicator(context) {
56
65
  const processedWithIndicator = [];
57
66
  let newItemIndicatorInserted = context.newItemIndicatorInserted;
58
- context.processedItems.forEach((item) => {
67
+ for (const item of context.processedItems) {
59
68
  if (item.type === 'chat' &&
60
69
  context.lastVisitedTimestamp &&
61
70
  !newItemIndicatorInserted &&
@@ -67,11 +76,16 @@ export function insertNewItemIndicator(context) {
67
76
  }
68
77
  // Push the current item to the new array
69
78
  processedWithIndicator.push(item);
70
- });
79
+ }
71
80
  context.processedItems = processedWithIndicator;
72
81
  context.newItemIndicatorInserted = newItemIndicatorInserted;
73
82
  return context;
74
83
  }
84
+ /**
85
+ *
86
+ * @param context
87
+ */
88
+ // eslint-disable-next-line sonarjs/cognitive-complexity
75
89
  export function insertDateGroups(context) {
76
90
  const newProcessedItems = [];
77
91
  let currentGroup = null;
@@ -102,7 +102,9 @@ export class ComponentConfig {
102
102
  }
103
103
  renderConfigComponent() {
104
104
  var _a, _b;
105
- return (h(LimeWebComponentTemplate, { class: "config-component", platform: this.platform, context: this.context, name: (_a = this.configComponent) === null || _a === void 0 ? void 0 : _a.name, props: Object.assign(Object.assign({}, (_b = this.configComponent) === null || _b === void 0 ? void 0 : _b.props), { value: this.value, required: this.required, readonly: this.readonly, disabled: this.disabled, label: this.label, helperText: this.helperText, formInfo: this.formInfo }) }));
105
+ return (h(LimeWebComponentTemplate, { class: "config-component", platform: this.platform, context: this.context,
106
+ // eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain
107
+ name: (_a = this.configComponent) === null || _a === void 0 ? void 0 : _a.name, props: Object.assign(Object.assign({}, (_b = this.configComponent) === null || _b === void 0 ? void 0 : _b.props), { value: this.value, required: this.required, readonly: this.readonly, disabled: this.disabled, label: this.label, helperText: this.helperText, formInfo: this.formInfo }) }));
106
108
  }
107
109
  getNameField() {
108
110
  if (this.nameField) {
@@ -6,9 +6,9 @@
6
6
  * input: 2020-01-01T00:00:00+02:00
7
7
  * output: 2020-01-01T00:00:00Z
8
8
  *
9
- * @param {Date} changedDate The date to convert
10
- * @param {DateType} type The type of date
11
- * @returns {Date} The converted date
9
+ * @param changedDate The date to convert
10
+ * @param type The type of date
11
+ * @returns The converted date
12
12
  */
13
13
  export function toServerDate(changedDate, type) {
14
14
  if (type === 'datetime' || type === 'time') {
@@ -181,7 +181,7 @@ limel-action-bar {
181
181
  all: unset;
182
182
  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);
183
183
  cursor: pointer;
184
- color: var(--mdc-theme-on-surface);
184
+ color: var(--limel-theme-on-surface-color);
185
185
  background-color: var(--lime-elevated-surface-background-color);
186
186
  box-shadow: var(--button-shadow-normal);
187
187
  z-index: 1;
@@ -202,7 +202,7 @@ limel-action-bar {
202
202
  }
203
203
  #show-more-button:hover {
204
204
  transform: translate3d(0, -0.04rem, 0);
205
- color: var(--mdc-theme-on-surface);
205
+ color: var(--limel-theme-on-surface-color);
206
206
  background-color: var(--lime-elevated-surface-background-color);
207
207
  box-shadow: var(--button-shadow-hovered);
208
208
  }
@@ -489,7 +489,7 @@ button.collapse-heading {
489
489
  all: unset;
490
490
  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);
491
491
  cursor: pointer;
492
- color: var(--mdc-theme-on-surface);
492
+ color: var(--limel-theme-on-surface-color);
493
493
  background-color: var(--lime-elevated-surface-background-color);
494
494
  box-shadow: var(--button-shadow-normal);
495
495
  flex-shrink: 0;
@@ -504,7 +504,7 @@ button.collapse-heading:hover, button.collapse-heading:focus, button.collapse-he
504
504
  }
505
505
  button.collapse-heading:hover {
506
506
  transform: translate3d(0, -0.04rem, 0);
507
- color: var(--mdc-theme-on-surface);
507
+ color: var(--limel-theme-on-surface-color);
508
508
  background-color: var(--lime-elevated-surface-background-color);
509
509
  box-shadow: var(--button-shadow-hovered);
510
510
  }
@@ -54,7 +54,6 @@ export class FeedTimelineItem {
54
54
  return;
55
55
  }
56
56
  const height = entries[0].contentRect.height;
57
- // eslint-disable-next-line no-magic-numbers
58
57
  const maxHeight = this.isThreadMessage ? 48 : 160;
59
58
  this.isTall = height > maxHeight ? true : false;
60
59
  if (this.bodyTextHeight === undefined) {
@@ -179,7 +178,7 @@ export class FeedTimelineItem {
179
178
  render() {
180
179
  var _a, _b;
181
180
  const helperTextId = `helper-text-${this.item.id}`;
182
- return (h(Host, { key: 'a817d7ace9ed8023eb26d846e5ad6839fe5e94a7', id: this.item.id, class: {
181
+ return (h(Host, { key: '39bafb2494964473834124c5ccc7eb0931af93a5', id: this.item.id, class: {
183
182
  'has-unpromoted-actions': !!((_a = this.item.unpromotedActions) === null || _a === void 0 ? void 0 : _a.length),
184
183
  'has-author-picture': !!((_b = this.item.author) === null || _b === void 0 ? void 0 : _b.picture),
185
184
  'shows-less': !this.showMore,