@limetech/lime-crm-building-blocks 1.70.1 → 1.71.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,21 @@
1
+ ## [1.71.1](https://github.com/Lundalogik/lime-crm-building-blocks/compare/v1.71.0...v1.71.1) (2025-04-23)
2
+
3
+ ### Bug Fixes
4
+
5
+
6
+ * **text editor:** initialize searcher in constructor, cancel on disconnect ([a1c458d](https://github.com/Lundalogik/lime-crm-building-blocks/commit/a1c458db7659d09a3bb478ef657a712458b3a288))
7
+
8
+ ## [1.71.0](https://github.com/Lundalogik/lime-crm-building-blocks/compare/v1.70.1...v1.71.0) (2025-04-16)
9
+
10
+ ### Features
11
+
12
+
13
+ * **chat:** add property for controling the order of chat items ([5f9d48e](https://github.com/Lundalogik/lime-crm-building-blocks/commit/5f9d48ee0c4246b7b041cd8975b149f7c216544f))
14
+ ### Bug Fixes
15
+
16
+
17
+ * **chat:** fix broken typing indicator ([7ba211f](https://github.com/Lundalogik/lime-crm-building-blocks/commit/7ba211f4e7b5004eaeb9924699aac76a4eb1cbb8))
18
+
1
19
  ## [1.70.1](https://github.com/Lundalogik/lime-crm-building-blocks/compare/v1.70.0...v1.70.1) (2025-04-15)
2
20
 
3
21
  ### Bug Fixes
@@ -19,7 +19,7 @@ var patchBrowser = () => {
19
19
 
20
20
  patchBrowser().then(async (options) => {
21
21
  await appGlobals.globalScripts();
22
- return index.bootstrapLazy([["limebb-feed.cjs",[[1,"limebb-feed",{"platform":[16],"context":[16],"items":[16],"emptyStateMessage":[1,"empty-state-message"],"heading":[1],"loading":[4],"minutesOfProximity":[2,"minutes-of-proximity"],"totalCount":[2,"total-count"],"direction":[1],"lastVisitedTimestamp":[1,"last-visited-timestamp"]}]]],["limebb-kanban.cjs",[[1,"limebb-kanban",{"platform":[16],"context":[16],"groups":[16]}]]],["limebb-chat-list.cjs",[[1,"limebb-chat-list",{"platform":[16],"context":[16],"items":[16],"loading":[516],"isTypingIndicatorVisible":[516,"is-typing-indicator-visible"],"lastVisitedTimestamp":[513,"last-visited-timestamp"]},null,{"items":["handleItemsChange"]}]]],["limebb-text-editor.cjs",[[1,"limebb-text-editor",{"platform":[16],"context":[16],"allowMentioning":[4,"allow-mentioning"],"contentType":[1,"content-type"],"language":[513],"disabled":[516],"readonly":[516],"helperText":[513,"helper-text"],"placeholder":[513],"label":[513],"invalid":[516],"required":[516],"selectedContext":[16],"ui":[513],"allowResize":[4,"allow-resize"],"value":[1],"draftIdentifier":[1,"draft-identifier"],"triggerMap":[16],"customElements":[16],"items":[32],"highlightedItemIndex":[32],"editorPickerQuery":[32],"searchableLimetypes":[32],"isPickerOpen":[32],"isSearching":[32]},null,{"isPickerOpen":["watchOpen"],"editorPickerQuery":["watchQuery"]}]]],["limebb-date-range.cjs",[[1,"limebb-date-range",{"platform":[16],"context":[16],"startTime":[16],"endTime":[16],"startTimeLabel":[1,"start-time-label"],"endTimeLabel":[1,"end-time-label"],"language":[1],"timeFormat":[1,"time-format"],"type":[1]}]]],["limebb-info-tile-currency-format.cjs",[[1,"limebb-info-tile-currency-format",{"platform":[16],"context":[16],"value":[16]}]]],["limebb-notification-list.cjs",[[1,"limebb-notification-list",{"platform":[16],"context":[16],"items":[16],"loading":[4],"lastVisitedTimestamp":[1,"last-visited-timestamp"]},null,{"items":["handleItemsChange"]}]]],["limebb-browser.cjs",[[17,"limebb-browser",{"platform":[16],"context":[16],"items":[16],"layout":[1],"filter":[32]}]]],["limebb-component-config.cjs",[[1,"limebb-component-config",{"platform":[16],"context":[16],"value":[16],"required":[4],"readonly":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"],"formInfo":[16],"type":[1],"nameField":[1,"name-field"],"configComponent":[32],"configViewType":[32]},null,{"formInfo":["watchFormInfo"],"configComponent":["watchconfigComponent"]}]]],["limebb-component-picker.cjs",[[1,"limebb-component-picker",{"platform":[16],"context":[16],"type":[1],"tags":[16],"value":[1],"copyLabel":[1,"copy-label"],"hideCopyButton":[4,"hide-copy-button"],"required":[4],"readonly":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"]}]]],["limebb-dashboard-widget.cjs",[[1,"limebb-dashboard-widget",{"heading":[513],"subheading":[513],"supportingText":[513,"supporting-text"],"icon":[513]}]]],["limebb-icon-picker.cjs",[[1,"limebb-icon-picker",{"value":[1],"required":[4],"readonly":[4],"invalid":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"]}]]],["limebb-info-tile.cjs",[[1,"limebb-info-tile",{"platform":[16],"context":[16],"filterId":[513,"filter-id"],"disabled":[4],"icon":[513],"label":[1],"prefix":[1],"suffix":[1],"propertyName":[1,"property-name"],"aggregateOperator":[1,"aggregate-operator"],"format":[16],"config":[32],"filters":[32],"value":[32],"loading":[32],"error":[32]},null,{"filterId":["watchFilterId"],"propertyName":["watchPropertyName"],"aggregateOperator":["watchAggregateOperator"]}]]],["limebb-info-tile-date-format.cjs",[[1,"limebb-info-tile-date-format",{"value":[16]}]]],["limebb-info-tile-decimal-format.cjs",[[1,"limebb-info-tile-decimal-format",{"value":[16]}]]],["limebb-info-tile-format.cjs",[[1,"limebb-info-tile-format",{"platform":[16],"context":[16],"type":[1],"value":[16]}]]],["limebb-info-tile-relative-date-format.cjs",[[1,"limebb-info-tile-relative-date-format",{"value":[16]}]]],["limebb-info-tile-unit-format.cjs",[[1,"limebb-info-tile-unit-format",{"value":[16]}]]],["limebb-limeobject-file-viewer.cjs",[[1,"limebb-limeobject-file-viewer",{"platform":[16],"context":[16],"property":[1],"fileTypes":[16],"limeobject":[32],"limetype":[32]}]]],["limebb-locale-picker.cjs",[[1,"limebb-locale-picker",{"platform":[16],"context":[16],"value":[1],"required":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"],"readonly":[4],"multipleChoice":[4,"multiple-choice"],"allLanguages":[32]}]]],["limebb-mention.cjs",[[1,"limebb-mention",{"limetype":[1],"objectid":[2],"limeobject":[32]}]]],["limebb-mention-group-counter.cjs",[[1,"limebb-mention-group-counter",{"count":[2],"limetype":[16],"helperLabel":[1,"helper-label"]}]]],["limebb-trend-indicator.cjs",[[1,"limebb-trend-indicator",{"platform":[16],"context":[16],"value":[520],"formerValue":[514,"former-value"],"suffix":[513],"label":[513],"invalid":[516],"helperText":[513,"helper-text"],"reducePresence":[516,"reduce-presence"]},null,{"value":["valueChanged"]}]]],["limebb-navigation-button_2.cjs",[[1,"limebb-summary-popover",{"triggerDelay":[514,"trigger-delay"],"heading":[513],"subheading":[513],"image":[16],"icon":[513],"value":[1],"openDirection":[513,"open-direction"],"popoverMaxWidth":[513,"popover-max-width"],"popoverMaxHeight":[513,"popover-max-height"],"actions":[16],"isPopoverOpen":[32]}],[17,"limebb-navigation-button",{"href":[513],"tooltipLabel":[513,"tooltip-label"],"tooltipHelperLabel":[513,"tooltip-helper-label"],"type":[513]}]]],["limebb-kanban-item.cjs",[[1,"limebb-kanban-item",{"platform":[16],"context":[16],"item":[16]}]]],["limebb-kanban-group.cjs",[[1,"limebb-kanban-group",{"platform":[16],"context":[16],"identifier":[1],"heading":[513],"help":[1],"items":[16],"summary":[1],"loading":[516],"totalCount":[514,"total-count"]}]]],["limebb-feed-timeline-item.cjs",[[1,"limebb-feed-timeline-item",{"platform":[16],"context":[16],"item":[16],"ui":[513],"isBundled":[516,"is-bundled"],"headingCanExpand":[32],"isHeadingExpanded":[32],"showMore":[32],"isTall":[32]}]]],["limebb-text-editor-picker.cjs",[[1,"limebb-text-editor-picker",{"items":[16],"open":[516],"isSearching":[4,"is-searching"],"emptyMessage":[1,"empty-message"]},null,{"open":["watchOpen"]}]]],["limebb-currency-picker.cjs",[[1,"limebb-currency-picker",{"platform":[16],"context":[16],"label":[513],"currencies":[16],"helperText":[513,"helper-text"],"required":[516],"readonly":[516],"invalid":[516],"disabled":[516],"value":[1]}]]],["limebb-date-picker.cjs",[[1,"limebb-date-picker",{"platform":[16],"context":[16],"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"placeholder":[513],"helperText":[513,"helper-text"],"required":[516],"value":[1],"type":[513]}]]],["limebb-notification-item.cjs",[[1,"limebb-notification-item",{"platform":[16],"context":[16],"item":[16]}]]],["limebb-chat-item_2.cjs",[[1,"limebb-chat-item",{"platform":[16],"context":[16],"item":[16]}],[1,"limebb-typing-indicator"]]],["limebb-empty-state.cjs",[[1,"limebb-empty-state",{"heading":[513],"value":[513],"icon":[16]}]]]], options);
22
+ return index.bootstrapLazy([["limebb-feed.cjs",[[1,"limebb-feed",{"platform":[16],"context":[16],"items":[16],"emptyStateMessage":[1,"empty-state-message"],"heading":[1],"loading":[4],"minutesOfProximity":[2,"minutes-of-proximity"],"totalCount":[2,"total-count"],"direction":[1],"lastVisitedTimestamp":[1,"last-visited-timestamp"]}]]],["limebb-kanban.cjs",[[1,"limebb-kanban",{"platform":[16],"context":[16],"groups":[16]}]]],["limebb-chat-list.cjs",[[1,"limebb-chat-list",{"platform":[16],"context":[16],"items":[16],"loading":[516],"isTypingIndicatorVisible":[516,"is-typing-indicator-visible"],"lastVisitedTimestamp":[513,"last-visited-timestamp"],"order":[513]},null,{"items":["handleItemsChange"]}]]],["limebb-text-editor.cjs",[[1,"limebb-text-editor",{"platform":[16],"context":[16],"allowMentioning":[4,"allow-mentioning"],"contentType":[1,"content-type"],"language":[513],"disabled":[516],"readonly":[516],"helperText":[513,"helper-text"],"placeholder":[513],"label":[513],"invalid":[516],"required":[516],"selectedContext":[16],"ui":[513],"allowResize":[4,"allow-resize"],"value":[1],"draftIdentifier":[1,"draft-identifier"],"triggerMap":[16],"customElements":[16],"items":[32],"highlightedItemIndex":[32],"editorPickerQuery":[32],"searchableLimetypes":[32],"isPickerOpen":[32],"isSearching":[32]},null,{"isPickerOpen":["watchOpen"],"editorPickerQuery":["watchQuery"]}]]],["limebb-date-range.cjs",[[1,"limebb-date-range",{"platform":[16],"context":[16],"startTime":[16],"endTime":[16],"startTimeLabel":[1,"start-time-label"],"endTimeLabel":[1,"end-time-label"],"language":[1],"timeFormat":[1,"time-format"],"type":[1]}]]],["limebb-info-tile-currency-format.cjs",[[1,"limebb-info-tile-currency-format",{"platform":[16],"context":[16],"value":[16]}]]],["limebb-notification-list.cjs",[[1,"limebb-notification-list",{"platform":[16],"context":[16],"items":[16],"loading":[4],"lastVisitedTimestamp":[1,"last-visited-timestamp"]},null,{"items":["handleItemsChange"]}]]],["limebb-browser.cjs",[[17,"limebb-browser",{"platform":[16],"context":[16],"items":[16],"layout":[1],"filter":[32]}]]],["limebb-component-config.cjs",[[1,"limebb-component-config",{"platform":[16],"context":[16],"value":[16],"required":[4],"readonly":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"],"formInfo":[16],"type":[1],"nameField":[1,"name-field"],"configComponent":[32],"configViewType":[32]},null,{"formInfo":["watchFormInfo"],"configComponent":["watchconfigComponent"]}]]],["limebb-component-picker.cjs",[[1,"limebb-component-picker",{"platform":[16],"context":[16],"type":[1],"tags":[16],"value":[1],"copyLabel":[1,"copy-label"],"hideCopyButton":[4,"hide-copy-button"],"required":[4],"readonly":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"]}]]],["limebb-dashboard-widget.cjs",[[1,"limebb-dashboard-widget",{"heading":[513],"subheading":[513],"supportingText":[513,"supporting-text"],"icon":[513]}]]],["limebb-icon-picker.cjs",[[1,"limebb-icon-picker",{"value":[1],"required":[4],"readonly":[4],"invalid":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"]}]]],["limebb-info-tile.cjs",[[1,"limebb-info-tile",{"platform":[16],"context":[16],"filterId":[513,"filter-id"],"disabled":[4],"icon":[513],"label":[1],"prefix":[1],"suffix":[1],"propertyName":[1,"property-name"],"aggregateOperator":[1,"aggregate-operator"],"format":[16],"config":[32],"filters":[32],"value":[32],"loading":[32],"error":[32]},null,{"filterId":["watchFilterId"],"propertyName":["watchPropertyName"],"aggregateOperator":["watchAggregateOperator"]}]]],["limebb-info-tile-date-format.cjs",[[1,"limebb-info-tile-date-format",{"value":[16]}]]],["limebb-info-tile-decimal-format.cjs",[[1,"limebb-info-tile-decimal-format",{"value":[16]}]]],["limebb-info-tile-format.cjs",[[1,"limebb-info-tile-format",{"platform":[16],"context":[16],"type":[1],"value":[16]}]]],["limebb-info-tile-relative-date-format.cjs",[[1,"limebb-info-tile-relative-date-format",{"value":[16]}]]],["limebb-info-tile-unit-format.cjs",[[1,"limebb-info-tile-unit-format",{"value":[16]}]]],["limebb-limeobject-file-viewer.cjs",[[1,"limebb-limeobject-file-viewer",{"platform":[16],"context":[16],"property":[1],"fileTypes":[16],"limeobject":[32],"limetype":[32]}]]],["limebb-locale-picker.cjs",[[1,"limebb-locale-picker",{"platform":[16],"context":[16],"value":[1],"required":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"],"readonly":[4],"multipleChoice":[4,"multiple-choice"],"allLanguages":[32]}]]],["limebb-mention.cjs",[[1,"limebb-mention",{"limetype":[1],"objectid":[2],"limeobject":[32]}]]],["limebb-mention-group-counter.cjs",[[1,"limebb-mention-group-counter",{"count":[2],"limetype":[16],"helperLabel":[1,"helper-label"]}]]],["limebb-trend-indicator.cjs",[[1,"limebb-trend-indicator",{"platform":[16],"context":[16],"value":[520],"formerValue":[514,"former-value"],"suffix":[513],"label":[513],"invalid":[516],"helperText":[513,"helper-text"],"reducePresence":[516,"reduce-presence"]},null,{"value":["valueChanged"]}]]],["limebb-navigation-button_2.cjs",[[1,"limebb-summary-popover",{"triggerDelay":[514,"trigger-delay"],"heading":[513],"subheading":[513],"image":[16],"icon":[513],"value":[1],"openDirection":[513,"open-direction"],"popoverMaxWidth":[513,"popover-max-width"],"popoverMaxHeight":[513,"popover-max-height"],"actions":[16],"isPopoverOpen":[32]}],[17,"limebb-navigation-button",{"href":[513],"tooltipLabel":[513,"tooltip-label"],"tooltipHelperLabel":[513,"tooltip-helper-label"],"type":[513]}]]],["limebb-kanban-item.cjs",[[1,"limebb-kanban-item",{"platform":[16],"context":[16],"item":[16]}]]],["limebb-kanban-group.cjs",[[1,"limebb-kanban-group",{"platform":[16],"context":[16],"identifier":[1],"heading":[513],"help":[1],"items":[16],"summary":[1],"loading":[516],"totalCount":[514,"total-count"]}]]],["limebb-feed-timeline-item.cjs",[[1,"limebb-feed-timeline-item",{"platform":[16],"context":[16],"item":[16],"ui":[513],"isBundled":[516,"is-bundled"],"headingCanExpand":[32],"isHeadingExpanded":[32],"showMore":[32],"isTall":[32]}]]],["limebb-text-editor-picker.cjs",[[1,"limebb-text-editor-picker",{"items":[16],"open":[516],"isSearching":[4,"is-searching"],"emptyMessage":[1,"empty-message"]},null,{"open":["watchOpen"]}]]],["limebb-currency-picker.cjs",[[1,"limebb-currency-picker",{"platform":[16],"context":[16],"label":[513],"currencies":[16],"helperText":[513,"helper-text"],"required":[516],"readonly":[516],"invalid":[516],"disabled":[516],"value":[1]}]]],["limebb-date-picker.cjs",[[1,"limebb-date-picker",{"platform":[16],"context":[16],"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"placeholder":[513],"helperText":[513,"helper-text"],"required":[516],"value":[1],"type":[513]}]]],["limebb-notification-item.cjs",[[1,"limebb-notification-item",{"platform":[16],"context":[16],"item":[16]}]]],["limebb-chat-item_2.cjs",[[1,"limebb-chat-item",{"platform":[16],"context":[16],"item":[16]}],[1,"limebb-typing-indicator"]]],["limebb-empty-state.cjs",[[1,"limebb-empty-state",{"heading":[513],"value":[513],"icon":[16]}]]]], options);
23
23
  });
24
24
 
25
25
  exports.setNonce = index.setNonce;
@@ -124,7 +124,7 @@ function insertDateGroups(context) {
124
124
  return Object.assign(Object.assign({}, context), { processedItems: newProcessedItems });
125
125
  }
126
126
 
127
- const chatListCss = "@charset \"UTF-8\";:host(limebb-chat-list){--limel-top-edge-fade-height:0.75rem;isolation:isolate;--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);box-sizing:border-box;display:flex;flex-direction:column;gap:0.5rem;height:100%;width:100%;min-width:0;min-height:0;padding:var(--limel-top-edge-fade-height) 0.5rem;overflow:hidden auto}:host(limebb-chat-list.is-empty){padding:0}*{box-sizing:border-box}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 auto;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:rgb(var(--contrast-100))}.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:rgb(var(--contrast-100))}.typing-indicator-height-animation{--limebb-chat-typing-opacity-transition-speed:0.1s;--limebb-chat-typing-opacity-transition-delay:0s;--limebb-chat-typing-grid-template-rows-transition-speed:0.3s;position:sticky;top:0;z-index:1;transition:grid-template-rows var(--limebb-chat-typing-grid-template-rows-transition-speed) ease;display:grid;grid-template-rows:0}.typing-indicator-height-animation div{transition:opacity var(--limebb-chat-typing-opacity-transition-speed) ease var(--limebb-chat-typing-opacity-transition-delay);overflow:hidden;opacity:0}:host(limebb-chat-list[are-others-typing]) .typing-indicator-height-animation{--limebb-chat-typing-opacity-transition-speed:0.4s;--limebb-chat-typing-opacity-transition-delay:0.3s;--limebb-chat-typing-grid-template-rows-transition-speed:0.46s;grid-template-rows:1.5rem}:host(limebb-chat-list[are-others-typing]) .typing-indicator-height-animation div{opacity:1}";
127
+ const chatListCss = "@charset \"UTF-8\";:host(limebb-chat-list){--limel-top-edge-fade-height:0.75rem;isolation:isolate;--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);box-sizing:border-box;display:flex;gap:0.5rem;height:100%;width:100%;min-width:0;min-height:0;padding:var(--limel-top-edge-fade-height) 0.5rem;overflow:hidden auto}:host(limebb-chat-list.is-empty){padding:0}:host(limebb-chat-list[order=oldest-on-top]){flex-direction:column-reverse}:host(limebb-chat-list[order=newest-on-top]){flex-direction:column}*{box-sizing:border-box}limel-spinner{align-self:center;justify-self:center;margin:auto}.date-group{isolation:isolate;display:flex;flex-direction:inherit;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 auto;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:rgb(var(--contrast-100))}.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:rgb(var(--contrast-100))}.typing-indicator-height-animation{--limebb-chat-typing-opacity-transition-speed:0.1s;--limebb-chat-typing-opacity-transition-delay:0s;--limebb-chat-typing-grid-template-rows-transition-speed:0.3s;position:sticky;top:0;z-index:1;transition:grid-template-rows var(--limebb-chat-typing-grid-template-rows-transition-speed) ease;display:grid;grid-template-rows:0}.typing-indicator-height-animation div{transition:opacity var(--limebb-chat-typing-opacity-transition-speed) ease var(--limebb-chat-typing-opacity-transition-delay);overflow:hidden;opacity:0}:host(limebb-chat-list[is-typing-indicator-visible]) .typing-indicator-height-animation{--limebb-chat-typing-opacity-transition-speed:0.4s;--limebb-chat-typing-opacity-transition-delay:0.3s;--limebb-chat-typing-grid-template-rows-transition-speed:0.46s;grid-template-rows:1.5rem}:host(limebb-chat-list[is-typing-indicator-visible]) .typing-indicator-height-animation div{opacity:1}";
128
128
  const LimebbChatListStyle0 = chatListCss;
129
129
 
130
130
  const ChatList = class {
@@ -135,6 +135,20 @@ const ChatList = class {
135
135
  * These items must be sorted by their `timestamp` in descending order.
136
136
  */
137
137
  this.items = [];
138
+ /**
139
+ * - `newest-on-top` displays new messages at the top of the list;
140
+ * used if the chat input is located on top of the chat interface.
141
+ * - `oldest-on-top` displays new messages at the bottom of the list (default);
142
+ * used if the chat input is located at the bottom of the chat interface.
143
+ *
144
+ * :::important
145
+ * Using this prop will _not_ automatically sort the chat items for you!
146
+ * You still need to pass the items in the correct order (descending order by timestamp).
147
+ * This prop will only affect the direction of the elements in the user interface,
148
+ * such as the location of the typing indicator or the scrollbars.
149
+ * :::
150
+ */
151
+ this.order = 'oldest-on-top';
138
152
  this.processedItems = [];
139
153
  }
140
154
  handleItemsChange() {
@@ -148,9 +162,9 @@ const ChatList = class {
148
162
  this.handleItemsChange();
149
163
  }
150
164
  render() {
151
- return (index.h(index.Host, { key: '8d7895cdc128ff75f9e46b0545ab2605d3a8c1a8', class: {
165
+ return (index.h(index.Host, { key: 'cb3552184a7a9eaacbd7e94c1af68ffbb8cce6ff', class: {
152
166
  'is-empty': !this.items.length && !this.isTypingIndicatorVisible,
153
- }, "aria-busy": this.isBusy(), "aria-live": "assertive" }, this.renderSpinner(), index.h("div", { key: 'c5e700c8bbf5ccf545c93cfd3058636afb56a329', class: "typing-indicator-height-animation" }, index.h("div", { key: '4bfa4b69701035711ef5b0faede056a698ea70fd' }, this.renderTypingIndicator())), this.renderChatItems()));
167
+ }, "aria-busy": this.isBusy(), "aria-live": "assertive" }, this.renderSpinner(), index.h("div", { key: 'fedc4e0eef654a983c2a3c5aa751107c32a987bb', class: "typing-indicator-height-animation" }, index.h("div", { key: 'a4a8955159ef7eea5519176ba7778b5b6b6f19ed' }, this.renderTypingIndicator())), this.renderChatItems()));
154
168
  }
155
169
  renderSpinner() {
156
170
  if (!this.loading) {
@@ -177,14 +191,19 @@ const ChatList = class {
177
191
  });
178
192
  }
179
193
  renderGroup(group) {
180
- return (index.h("section", { class: "date-group" }, index.h("a", { class: "date-heading" }, group.heading), group.items.map((item) => {
194
+ const chatItems = group.items.map((item) => {
181
195
  if (item.type === 'chat') {
182
196
  return this.renderChatItem(item.item);
183
197
  }
184
198
  else if (item.type === 'newItemIndicator') {
185
199
  return this.renderIndicator();
186
200
  }
187
- })));
201
+ });
202
+ const dateHeading = index.h("a", { class: "date-heading" }, group.heading);
203
+ if (this.order === 'oldest-on-top') {
204
+ return (index.h("section", { class: "date-group" }, chatItems, dateHeading));
205
+ }
206
+ return (index.h("section", { class: "date-group" }, dateHeading, chatItems));
188
207
  }
189
208
  renderChatItem(item) {
190
209
  return (index.h("limebb-chat-item", { platform: this.platform, context: this.context, item: item, key: item.id }));
@@ -1176,6 +1176,7 @@ function hasHasManyRelation(limetype, relatedLabel) {
1176
1176
  return !!property && isManyRelation(property);
1177
1177
  }
1178
1178
 
1179
+ /* eslint-disable no-underscore-dangle */
1179
1180
  /**
1180
1181
  * Get the limetypes that should be available for mentions
1181
1182
  *
@@ -1187,8 +1188,158 @@ function getMentionLimetypes(limetypes) {
1187
1188
  return (hasLabel(limetype, 'user') || hasHasManyRelation(limetype, 'user'));
1188
1189
  });
1189
1190
  }
1191
+ const MAX_MENTION_SEARCH_RESULTS = 10;
1192
+ class MentionsService {
1193
+ get limeObjectService() {
1194
+ return this.platform.get(types.PlatformServiceName.LimeObjectRepository);
1195
+ }
1196
+ get queryService() {
1197
+ return this.platform.get(types.PlatformServiceName.Query);
1198
+ }
1199
+ get viewFactoryRegistry() {
1200
+ return this.platform.get(types.PlatformServiceName.ViewFactoryRegistry);
1201
+ }
1202
+ get translator() {
1203
+ var _a;
1204
+ return (_a = this.platform) === null || _a === void 0 ? void 0 : _a.get(types.PlatformServiceName.Translate);
1205
+ }
1206
+ get triggerCharacter() {
1207
+ return this._triggerCharacter;
1208
+ }
1209
+ get triggerHandler() {
1210
+ return this._triggerHandler;
1211
+ }
1212
+ constructor(platform, context, searchableLimetypes) {
1213
+ this.platform = platform;
1214
+ this.context = context;
1215
+ this.searchableLimetypes = searchableLimetypes;
1216
+ this.groupCounts = {};
1217
+ this._triggerCharacter = '@';
1218
+ this._triggerHandler = {
1219
+ searcher: (query) => this.searcher(query),
1220
+ inserter: (triggerFunction, item) => this.inserter(triggerFunction, item),
1221
+ emptySearchMessage: 'Start typing a name...',
1222
+ noItemsFoundMessage: 'No results for your search...',
1223
+ nodeDefinition: {
1224
+ customElement: {
1225
+ tagName: 'limebb-mention',
1226
+ attributes: ['limetype', 'objectid', 'href'],
1227
+ },
1228
+ mapAttributes: (item) => ({
1229
+ limetype: item.value.getLimetype().name,
1230
+ objectid: item.value.id,
1231
+ href: `object/${this.context.limetype}/${this.context.id}`,
1232
+ }),
1233
+ },
1234
+ };
1235
+ this.searcher = async (query) => {
1236
+ if (!query) {
1237
+ return [];
1238
+ }
1239
+ const { objects } = await this.limeObjectService.search(query, this.searchableLimetypes, MAX_MENTION_SEARCH_RESULTS);
1240
+ return this.createSearchListItems(objects);
1241
+ };
1242
+ this.inserter = async (triggerFunction, item) => {
1243
+ var _a;
1244
+ const nodeDefinition = this.triggerHandler.nodeDefinition;
1245
+ if (!nodeDefinition) {
1246
+ return;
1247
+ }
1248
+ triggerFunction.insert({
1249
+ node: {
1250
+ tagName: nodeDefinition.customElement.tagName,
1251
+ attributes: nodeDefinition.mapAttributes(item),
1252
+ },
1253
+ children: [(_a = item.value) === null || _a === void 0 ? void 0 : _a.descriptive],
1254
+ });
1255
+ };
1256
+ }
1257
+ async initialize() {
1258
+ await this.loadGroupCounts();
1259
+ }
1260
+ async loadGroupCounts() {
1261
+ const groupCountsLoads = this.searchableLimetypes
1262
+ .filter((limetype) => !hasLabel(limetype, 'user') &&
1263
+ hasHasManyRelation(limetype, 'user'))
1264
+ .map((limetype) => this.getGroupCounts(limetype));
1265
+ (await Promise.all(groupCountsLoads)).forEach((groupCount) => {
1266
+ Object.assign(this.groupCounts, groupCount);
1267
+ });
1268
+ }
1269
+ async getGroupCounts(limetype) {
1270
+ var _a;
1271
+ const coworkerProperty = getRelationProperty(limetype, 'user');
1272
+ const limetypeName = limetype.name;
1273
+ try {
1274
+ const result = await this.queryService.execute({
1275
+ limetype: limetypeName,
1276
+ responseFormat: {
1277
+ object: {
1278
+ _id: null,
1279
+ [coworkerProperty.name]: {
1280
+ count: {
1281
+ aggregate: {
1282
+ op: types.AggregateOperator.Count,
1283
+ },
1284
+ },
1285
+ },
1286
+ },
1287
+ },
1288
+ });
1289
+ if (!((_a = result.objects) === null || _a === void 0 ? void 0 : _a.length)) {
1290
+ return { [limetypeName]: {} };
1291
+ }
1292
+ const groupCount = this.createGroupCount(result.objects, coworkerProperty.name);
1293
+ return { [limetypeName]: groupCount };
1294
+ }
1295
+ catch (error) {
1296
+ // eslint-disable-next-line no-console
1297
+ console.error(`Error fetching group count for limetype: ${limetype.name}`, error);
1298
+ return { [limetypeName]: {} };
1299
+ }
1300
+ }
1301
+ createGroupCount(objects, coworkerPropertyName) {
1302
+ const groupCount = {};
1303
+ objects.forEach((object) => {
1304
+ const { _id: id, [coworkerPropertyName]: aggregateProperty } = object;
1305
+ groupCount[id] = aggregateProperty.count;
1306
+ });
1307
+ return groupCount;
1308
+ }
1309
+ createSearchListItems(searchObjects = []) {
1310
+ const items = searchObjects.map((object) => this.createSearchListItem(object));
1311
+ return items.filter(nonNull.isNonNull);
1312
+ }
1313
+ createSearchListItem(object) {
1314
+ const createSearchItem = this.viewFactoryRegistry.getFactory('search');
1315
+ const limeobject = this.limeObjectService.getObject(object._limetype, object._id);
1316
+ if (!limeobject) {
1317
+ return null;
1318
+ }
1319
+ const searchListItem = createSearchItem(limeobject, this.context);
1320
+ const primaryComponent = this.getGroupCountComponent(limeobject);
1321
+ return Object.assign(Object.assign({}, searchListItem), (primaryComponent ? { primaryComponent: primaryComponent } : {}));
1322
+ }
1323
+ getGroupCountComponent(limeobject) {
1324
+ var _a;
1325
+ const limetype = limeobject.getLimetype();
1326
+ const groupCount = (_a = this.groupCounts[limetype.name]) === null || _a === void 0 ? void 0 : _a[limeobject.id];
1327
+ const coworkerProperty = getRelationProperty(limetype, 'user');
1328
+ if (groupCount === undefined || !coworkerProperty) {
1329
+ return;
1330
+ }
1331
+ const coworkerLimetype = coworkerProperty.relation.getLimetype();
1332
+ return {
1333
+ name: 'limebb-mention-group-counter',
1334
+ props: {
1335
+ count: groupCount,
1336
+ limetype: coworkerLimetype,
1337
+ helperLabel: this.translator.get('webclient.notification-center.members-will-be-notified'),
1338
+ },
1339
+ };
1340
+ }
1341
+ }
1190
1342
 
1191
- /* eslint-disable no-underscore-dangle */
1192
1343
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1193
1344
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1194
1345
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
@@ -1199,7 +1350,6 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
1199
1350
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1200
1351
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1201
1352
  };
1202
- const SEARCH_LIMIT = 10;
1203
1353
  const DEBOUNCE_SEARCH_TIMEOUT = 300;
1204
1354
  const LimeBBTextEditor = class {
1205
1355
  watchOpen() {
@@ -1290,10 +1440,9 @@ const LimeBBTextEditor = class {
1290
1440
  */
1291
1441
  this.isSearching = false;
1292
1442
  this.registeredTriggers = [];
1293
- this.registeredTriggerMap = {};
1294
- this.registeredCustomElements = [];
1443
+ this.registeredTriggerMap = this.triggerMap;
1444
+ this.registeredCustomElements = this.customElements;
1295
1445
  this.activeTrigger = undefined;
1296
- this.groupCounts = {};
1297
1446
  this.handleMouseClick = (event) => {
1298
1447
  if (!this.textEditorPickerElement) {
1299
1448
  return;
@@ -1369,28 +1518,9 @@ const LimeBBTextEditor = class {
1369
1518
  const searcher = (_a = this.registeredTriggerMap[trigger]) === null || _a === void 0 ? void 0 : _a.searcher;
1370
1519
  if (searcher) {
1371
1520
  this.isSearching = true;
1372
- this.debouncedSearch(searcher, this.editorPickerQuery);
1521
+ this.debouncedSearchFn(searcher, this.editorPickerQuery);
1373
1522
  }
1374
1523
  };
1375
- this.debouncedSearch = debounce(async (searcher, editorPickerQuery) => {
1376
- try {
1377
- const items = await searcher(editorPickerQuery);
1378
- // query might have changed during debounce
1379
- // or the trigger might not be active anymore
1380
- if (editorPickerQuery !== this.editorPickerQuery ||
1381
- !this.activeTrigger) {
1382
- return;
1383
- }
1384
- this.items = items;
1385
- }
1386
- catch (error) {
1387
- // eslint-disable-next-line no-console
1388
- console.error('Error searching', error);
1389
- }
1390
- finally {
1391
- this.isSearching = false;
1392
- }
1393
- }, DEBOUNCE_SEARCH_TIMEOUT);
1394
1524
  this.resetTriggerAndPicker = () => {
1395
1525
  this.isPickerOpen = false;
1396
1526
  this.activeTrigger = undefined;
@@ -1429,44 +1559,6 @@ const LimeBBTextEditor = class {
1429
1559
  this.resetTriggerAndPicker();
1430
1560
  (_a = this.textEditor) === null || _a === void 0 ? void 0 : _a.focus();
1431
1561
  };
1432
- this.mentionSearcher = async (query) => {
1433
- if (!query) {
1434
- return [];
1435
- }
1436
- const { objects } = await this.limeObjectService.search(query, this.searchableLimetypes, SEARCH_LIMIT);
1437
- return this.createSearchListItems(objects);
1438
- };
1439
- this.mentionInserter = async (triggerFunction, item) => {
1440
- var _a;
1441
- const mentionNodeDefinition = this.mentionTriggerHandler.nodeDefinition;
1442
- if (!mentionNodeDefinition) {
1443
- return;
1444
- }
1445
- triggerFunction.insert({
1446
- node: {
1447
- tagName: mentionNodeDefinition.customElement.tagName,
1448
- attributes: mentionNodeDefinition.mapAttributes(item),
1449
- },
1450
- children: [(_a = item.value) === null || _a === void 0 ? void 0 : _a.descriptive],
1451
- });
1452
- };
1453
- this.mentionTriggerHandler = {
1454
- searcher: this.mentionSearcher,
1455
- inserter: this.mentionInserter,
1456
- emptySearchMessage: 'Start typing a name...',
1457
- noItemsFoundMessage: 'No results for your search...',
1458
- nodeDefinition: {
1459
- customElement: {
1460
- tagName: 'limebb-mention',
1461
- attributes: ['limetype', 'objectid', 'href'],
1462
- },
1463
- mapAttributes: (item) => ({
1464
- limetype: item.value.getLimetype().name,
1465
- objectid: item.value.id,
1466
- href: `object/${this.context.limetype}/${this.context.id}`,
1467
- }),
1468
- },
1469
- };
1470
1562
  this.handleVisibilityChange = () => {
1471
1563
  if (document.visibilityState === 'hidden') {
1472
1564
  this.saveDraft();
@@ -1476,6 +1568,23 @@ const LimeBBTextEditor = class {
1476
1568
  this.saveDraft();
1477
1569
  };
1478
1570
  this.portalId = createRandomString();
1571
+ this.debouncedSearchFn = debounce(async (searcher, editorPickerQuery) => {
1572
+ try {
1573
+ const items = await searcher(editorPickerQuery);
1574
+ if (editorPickerQuery !== this.editorPickerQuery ||
1575
+ !this.activeTrigger) {
1576
+ return;
1577
+ }
1578
+ this.items = items;
1579
+ }
1580
+ catch (error) {
1581
+ // eslint-disable-next-line no-console
1582
+ console.error('Error searching', error);
1583
+ }
1584
+ finally {
1585
+ this.isSearching = false;
1586
+ }
1587
+ }, DEBOUNCE_SEARCH_TIMEOUT);
1479
1588
  }
1480
1589
  connectedCallback() {
1481
1590
  var _a, _b, _c, _d;
@@ -1495,8 +1604,10 @@ const LimeBBTextEditor = class {
1495
1604
  }
1496
1605
  }
1497
1606
  componentWillLoad() {
1498
- this.registerCustomElementsAndTriggers();
1499
- this.loadGroupCounts();
1607
+ if (this.allowMentioning) {
1608
+ this.registerMentions();
1609
+ }
1610
+ this.registerTriggers();
1500
1611
  this.loadDraft();
1501
1612
  }
1502
1613
  disconnectedCallback() {
@@ -1514,15 +1625,21 @@ const LimeBBTextEditor = class {
1514
1625
  capture: true,
1515
1626
  });
1516
1627
  }
1628
+ if (this.debouncedSearchFn && this.debouncedSearchFn.cancel) {
1629
+ this.debouncedSearchFn.cancel();
1630
+ }
1517
1631
  }
1518
- registerCustomElementsAndTriggers() {
1519
- this.registeredCustomElements = this.customElements;
1520
- this.registeredTriggerMap = this.triggerMap;
1521
- const mentionNodeDefinition = this.mentionTriggerHandler.nodeDefinition;
1522
- if (this.allowMentioning && mentionNodeDefinition) {
1523
- this.registeredCustomElements.push(mentionNodeDefinition.customElement);
1524
- this.registeredTriggerMap['@'] = this.mentionTriggerHandler;
1632
+ registerMentions() {
1633
+ const mentions = new MentionsService(this.platform, this.context, this.searchableLimetypes);
1634
+ const nodeDefinition = mentions.triggerHandler.nodeDefinition;
1635
+ if (nodeDefinition) {
1636
+ this.registeredCustomElements.push(nodeDefinition.customElement);
1637
+ this.registeredTriggerMap[mentions.triggerCharacter] =
1638
+ mentions.triggerHandler;
1639
+ mentions.initialize();
1525
1640
  }
1641
+ }
1642
+ registerTriggers() {
1526
1643
  this.registeredTriggers = Object.keys(this.registeredTriggerMap);
1527
1644
  }
1528
1645
  setPickerMessage() {
@@ -1563,7 +1680,7 @@ const LimeBBTextEditor = class {
1563
1680
  }
1564
1681
  render() {
1565
1682
  return [
1566
- index.h("limel-text-editor", { key: '8e215819fbe5cd109421e51e1c6e00d483b744a5', 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, 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 }),
1683
+ index.h("limel-text-editor", { key: '05d39fcf619a9262ef204030aea0fd2b83495fe3', 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, 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 }),
1567
1684
  this.renderPicker(),
1568
1685
  ];
1569
1686
  }
@@ -1574,91 +1691,6 @@ const LimeBBTextEditor = class {
1574
1691
  return (index.h("limel-portal", { containerId: this.portalId, visible: this.isPickerOpen, openDirection: "top", inheritParentWidth: true, anchor: this.textEditor }, index.h("limebb-text-editor-picker", { ref: (el) => (this.textEditorPickerElement =
1575
1692
  el), items: getUpdatedItems(this.items, this.highlightedItemIndex), onItemSelected: this.handleItemSelection, emptyMessage: this.pickerMessage, isSearching: this.isSearching })));
1576
1693
  }
1577
- createSearchListItems(searchObjects = []) {
1578
- const items = searchObjects.map((object) => this.createSearchListItem(object));
1579
- return items.filter(nonNull.isNonNull);
1580
- }
1581
- createSearchListItem(object) {
1582
- const createSearchItem = this.viewFactoryRegistry.getFactory('search');
1583
- const limeobject = this.limeObjectService.getObject(object._limetype, object._id);
1584
- if (!limeobject) {
1585
- return null;
1586
- }
1587
- const searchListItem = createSearchItem(limeobject, this.context);
1588
- const primaryComponent = this.getGroupCountComponent(limeobject);
1589
- return Object.assign(Object.assign({}, searchListItem), (primaryComponent ? { primaryComponent: primaryComponent } : {}));
1590
- }
1591
- getGroupCountComponent(limeobject) {
1592
- var _a;
1593
- const limetype = limeobject.getLimetype();
1594
- const groupCount = (_a = this.groupCounts[limetype.name]) === null || _a === void 0 ? void 0 : _a[limeobject.id];
1595
- const coworkerProperty = getRelationProperty(limetype, 'user');
1596
- if (groupCount === undefined || !coworkerProperty) {
1597
- return;
1598
- }
1599
- const coworkerLimetype = coworkerProperty.relation.getLimetype();
1600
- return {
1601
- name: 'limebb-mention-group-counter',
1602
- props: {
1603
- count: groupCount,
1604
- limetype: coworkerLimetype,
1605
- helperLabel: this.translator.get('webclient.notification-center.members-will-be-notified'),
1606
- },
1607
- };
1608
- }
1609
- async loadGroupCounts() {
1610
- if (!this.allowMentioning) {
1611
- return;
1612
- }
1613
- const groupCountsLoads = this.searchableLimetypes
1614
- .filter((limetype) => !hasLabel(limetype, 'user') &&
1615
- hasHasManyRelation(limetype, 'user'))
1616
- .map((limetype) => this.getGroupCounts(limetype));
1617
- const groupCounts = await Promise.all(groupCountsLoads);
1618
- groupCounts.forEach((groupCount) => {
1619
- Object.assign(this.groupCounts, groupCount);
1620
- });
1621
- }
1622
- async getGroupCounts(limetype) {
1623
- var _a;
1624
- const coworkerProperty = getRelationProperty(limetype, 'user');
1625
- const limetypeName = limetype.name;
1626
- try {
1627
- const result = await this.query.execute({
1628
- limetype: limetypeName,
1629
- responseFormat: {
1630
- object: {
1631
- _id: null,
1632
- [coworkerProperty.name]: {
1633
- count: {
1634
- aggregate: {
1635
- op: types.AggregateOperator.Count,
1636
- },
1637
- },
1638
- },
1639
- },
1640
- },
1641
- });
1642
- if (!((_a = result.objects) === null || _a === void 0 ? void 0 : _a.length)) {
1643
- return { [limetypeName]: {} };
1644
- }
1645
- const groupCount = this.createGroupCount(result.objects, coworkerProperty.name);
1646
- return { [limetypeName]: groupCount };
1647
- }
1648
- catch (error) {
1649
- // eslint-disable-next-line no-console
1650
- console.error(`Error fetching group count for limetype: ${limetype.name}`, error);
1651
- return { [limetypeName]: {} };
1652
- }
1653
- }
1654
- createGroupCount(objects, coworkerPropertyName) {
1655
- const groupCount = {};
1656
- objects.forEach((object) => {
1657
- const { _id: id, [coworkerPropertyName]: aggregateProperty } = object;
1658
- groupCount[id] = aggregateProperty.count;
1659
- });
1660
- return groupCount;
1661
- }
1662
1694
  loadDraft() {
1663
1695
  if (!this.userDataService || !this.textEditorInnerId) {
1664
1696
  return;
@@ -1686,19 +1718,6 @@ const LimeBBTextEditor = class {
1686
1718
  (_c = this.userDataService) === null || _c === void 0 ? void 0 : _c.set(this.textEditorInnerId, undefined);
1687
1719
  }
1688
1720
  }
1689
- get limeObjectService() {
1690
- return this.platform.get(types.PlatformServiceName.LimeObjectRepository);
1691
- }
1692
- get query() {
1693
- return this.platform.get(types.PlatformServiceName.Query);
1694
- }
1695
- get viewFactoryRegistry() {
1696
- return this.platform.get(types.PlatformServiceName.ViewFactoryRegistry);
1697
- }
1698
- get translator() {
1699
- var _a;
1700
- return (_a = this.platform) === null || _a === void 0 ? void 0 : _a.get(types.PlatformServiceName.Translate);
1701
- }
1702
1721
  get userDataService() {
1703
1722
  return this.platform.get(types.PlatformServiceName.UserDataRepository);
1704
1723
  }
@@ -8,7 +8,7 @@ const appGlobals = require('./app-globals-3a1e7e63.js');
8
8
  const defineCustomElements = async (win, options) => {
9
9
  if (typeof window === 'undefined') return undefined;
10
10
  await appGlobals.globalScripts();
11
- return index.bootstrapLazy([["limebb-feed.cjs",[[1,"limebb-feed",{"platform":[16],"context":[16],"items":[16],"emptyStateMessage":[1,"empty-state-message"],"heading":[1],"loading":[4],"minutesOfProximity":[2,"minutes-of-proximity"],"totalCount":[2,"total-count"],"direction":[1],"lastVisitedTimestamp":[1,"last-visited-timestamp"]}]]],["limebb-kanban.cjs",[[1,"limebb-kanban",{"platform":[16],"context":[16],"groups":[16]}]]],["limebb-chat-list.cjs",[[1,"limebb-chat-list",{"platform":[16],"context":[16],"items":[16],"loading":[516],"isTypingIndicatorVisible":[516,"is-typing-indicator-visible"],"lastVisitedTimestamp":[513,"last-visited-timestamp"]},null,{"items":["handleItemsChange"]}]]],["limebb-text-editor.cjs",[[1,"limebb-text-editor",{"platform":[16],"context":[16],"allowMentioning":[4,"allow-mentioning"],"contentType":[1,"content-type"],"language":[513],"disabled":[516],"readonly":[516],"helperText":[513,"helper-text"],"placeholder":[513],"label":[513],"invalid":[516],"required":[516],"selectedContext":[16],"ui":[513],"allowResize":[4,"allow-resize"],"value":[1],"draftIdentifier":[1,"draft-identifier"],"triggerMap":[16],"customElements":[16],"items":[32],"highlightedItemIndex":[32],"editorPickerQuery":[32],"searchableLimetypes":[32],"isPickerOpen":[32],"isSearching":[32]},null,{"isPickerOpen":["watchOpen"],"editorPickerQuery":["watchQuery"]}]]],["limebb-date-range.cjs",[[1,"limebb-date-range",{"platform":[16],"context":[16],"startTime":[16],"endTime":[16],"startTimeLabel":[1,"start-time-label"],"endTimeLabel":[1,"end-time-label"],"language":[1],"timeFormat":[1,"time-format"],"type":[1]}]]],["limebb-info-tile-currency-format.cjs",[[1,"limebb-info-tile-currency-format",{"platform":[16],"context":[16],"value":[16]}]]],["limebb-notification-list.cjs",[[1,"limebb-notification-list",{"platform":[16],"context":[16],"items":[16],"loading":[4],"lastVisitedTimestamp":[1,"last-visited-timestamp"]},null,{"items":["handleItemsChange"]}]]],["limebb-browser.cjs",[[17,"limebb-browser",{"platform":[16],"context":[16],"items":[16],"layout":[1],"filter":[32]}]]],["limebb-component-config.cjs",[[1,"limebb-component-config",{"platform":[16],"context":[16],"value":[16],"required":[4],"readonly":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"],"formInfo":[16],"type":[1],"nameField":[1,"name-field"],"configComponent":[32],"configViewType":[32]},null,{"formInfo":["watchFormInfo"],"configComponent":["watchconfigComponent"]}]]],["limebb-component-picker.cjs",[[1,"limebb-component-picker",{"platform":[16],"context":[16],"type":[1],"tags":[16],"value":[1],"copyLabel":[1,"copy-label"],"hideCopyButton":[4,"hide-copy-button"],"required":[4],"readonly":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"]}]]],["limebb-dashboard-widget.cjs",[[1,"limebb-dashboard-widget",{"heading":[513],"subheading":[513],"supportingText":[513,"supporting-text"],"icon":[513]}]]],["limebb-icon-picker.cjs",[[1,"limebb-icon-picker",{"value":[1],"required":[4],"readonly":[4],"invalid":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"]}]]],["limebb-info-tile.cjs",[[1,"limebb-info-tile",{"platform":[16],"context":[16],"filterId":[513,"filter-id"],"disabled":[4],"icon":[513],"label":[1],"prefix":[1],"suffix":[1],"propertyName":[1,"property-name"],"aggregateOperator":[1,"aggregate-operator"],"format":[16],"config":[32],"filters":[32],"value":[32],"loading":[32],"error":[32]},null,{"filterId":["watchFilterId"],"propertyName":["watchPropertyName"],"aggregateOperator":["watchAggregateOperator"]}]]],["limebb-info-tile-date-format.cjs",[[1,"limebb-info-tile-date-format",{"value":[16]}]]],["limebb-info-tile-decimal-format.cjs",[[1,"limebb-info-tile-decimal-format",{"value":[16]}]]],["limebb-info-tile-format.cjs",[[1,"limebb-info-tile-format",{"platform":[16],"context":[16],"type":[1],"value":[16]}]]],["limebb-info-tile-relative-date-format.cjs",[[1,"limebb-info-tile-relative-date-format",{"value":[16]}]]],["limebb-info-tile-unit-format.cjs",[[1,"limebb-info-tile-unit-format",{"value":[16]}]]],["limebb-limeobject-file-viewer.cjs",[[1,"limebb-limeobject-file-viewer",{"platform":[16],"context":[16],"property":[1],"fileTypes":[16],"limeobject":[32],"limetype":[32]}]]],["limebb-locale-picker.cjs",[[1,"limebb-locale-picker",{"platform":[16],"context":[16],"value":[1],"required":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"],"readonly":[4],"multipleChoice":[4,"multiple-choice"],"allLanguages":[32]}]]],["limebb-mention.cjs",[[1,"limebb-mention",{"limetype":[1],"objectid":[2],"limeobject":[32]}]]],["limebb-mention-group-counter.cjs",[[1,"limebb-mention-group-counter",{"count":[2],"limetype":[16],"helperLabel":[1,"helper-label"]}]]],["limebb-trend-indicator.cjs",[[1,"limebb-trend-indicator",{"platform":[16],"context":[16],"value":[520],"formerValue":[514,"former-value"],"suffix":[513],"label":[513],"invalid":[516],"helperText":[513,"helper-text"],"reducePresence":[516,"reduce-presence"]},null,{"value":["valueChanged"]}]]],["limebb-navigation-button_2.cjs",[[1,"limebb-summary-popover",{"triggerDelay":[514,"trigger-delay"],"heading":[513],"subheading":[513],"image":[16],"icon":[513],"value":[1],"openDirection":[513,"open-direction"],"popoverMaxWidth":[513,"popover-max-width"],"popoverMaxHeight":[513,"popover-max-height"],"actions":[16],"isPopoverOpen":[32]}],[17,"limebb-navigation-button",{"href":[513],"tooltipLabel":[513,"tooltip-label"],"tooltipHelperLabel":[513,"tooltip-helper-label"],"type":[513]}]]],["limebb-kanban-item.cjs",[[1,"limebb-kanban-item",{"platform":[16],"context":[16],"item":[16]}]]],["limebb-kanban-group.cjs",[[1,"limebb-kanban-group",{"platform":[16],"context":[16],"identifier":[1],"heading":[513],"help":[1],"items":[16],"summary":[1],"loading":[516],"totalCount":[514,"total-count"]}]]],["limebb-feed-timeline-item.cjs",[[1,"limebb-feed-timeline-item",{"platform":[16],"context":[16],"item":[16],"ui":[513],"isBundled":[516,"is-bundled"],"headingCanExpand":[32],"isHeadingExpanded":[32],"showMore":[32],"isTall":[32]}]]],["limebb-text-editor-picker.cjs",[[1,"limebb-text-editor-picker",{"items":[16],"open":[516],"isSearching":[4,"is-searching"],"emptyMessage":[1,"empty-message"]},null,{"open":["watchOpen"]}]]],["limebb-currency-picker.cjs",[[1,"limebb-currency-picker",{"platform":[16],"context":[16],"label":[513],"currencies":[16],"helperText":[513,"helper-text"],"required":[516],"readonly":[516],"invalid":[516],"disabled":[516],"value":[1]}]]],["limebb-date-picker.cjs",[[1,"limebb-date-picker",{"platform":[16],"context":[16],"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"placeholder":[513],"helperText":[513,"helper-text"],"required":[516],"value":[1],"type":[513]}]]],["limebb-notification-item.cjs",[[1,"limebb-notification-item",{"platform":[16],"context":[16],"item":[16]}]]],["limebb-chat-item_2.cjs",[[1,"limebb-chat-item",{"platform":[16],"context":[16],"item":[16]}],[1,"limebb-typing-indicator"]]],["limebb-empty-state.cjs",[[1,"limebb-empty-state",{"heading":[513],"value":[513],"icon":[16]}]]]], options);
11
+ return index.bootstrapLazy([["limebb-feed.cjs",[[1,"limebb-feed",{"platform":[16],"context":[16],"items":[16],"emptyStateMessage":[1,"empty-state-message"],"heading":[1],"loading":[4],"minutesOfProximity":[2,"minutes-of-proximity"],"totalCount":[2,"total-count"],"direction":[1],"lastVisitedTimestamp":[1,"last-visited-timestamp"]}]]],["limebb-kanban.cjs",[[1,"limebb-kanban",{"platform":[16],"context":[16],"groups":[16]}]]],["limebb-chat-list.cjs",[[1,"limebb-chat-list",{"platform":[16],"context":[16],"items":[16],"loading":[516],"isTypingIndicatorVisible":[516,"is-typing-indicator-visible"],"lastVisitedTimestamp":[513,"last-visited-timestamp"],"order":[513]},null,{"items":["handleItemsChange"]}]]],["limebb-text-editor.cjs",[[1,"limebb-text-editor",{"platform":[16],"context":[16],"allowMentioning":[4,"allow-mentioning"],"contentType":[1,"content-type"],"language":[513],"disabled":[516],"readonly":[516],"helperText":[513,"helper-text"],"placeholder":[513],"label":[513],"invalid":[516],"required":[516],"selectedContext":[16],"ui":[513],"allowResize":[4,"allow-resize"],"value":[1],"draftIdentifier":[1,"draft-identifier"],"triggerMap":[16],"customElements":[16],"items":[32],"highlightedItemIndex":[32],"editorPickerQuery":[32],"searchableLimetypes":[32],"isPickerOpen":[32],"isSearching":[32]},null,{"isPickerOpen":["watchOpen"],"editorPickerQuery":["watchQuery"]}]]],["limebb-date-range.cjs",[[1,"limebb-date-range",{"platform":[16],"context":[16],"startTime":[16],"endTime":[16],"startTimeLabel":[1,"start-time-label"],"endTimeLabel":[1,"end-time-label"],"language":[1],"timeFormat":[1,"time-format"],"type":[1]}]]],["limebb-info-tile-currency-format.cjs",[[1,"limebb-info-tile-currency-format",{"platform":[16],"context":[16],"value":[16]}]]],["limebb-notification-list.cjs",[[1,"limebb-notification-list",{"platform":[16],"context":[16],"items":[16],"loading":[4],"lastVisitedTimestamp":[1,"last-visited-timestamp"]},null,{"items":["handleItemsChange"]}]]],["limebb-browser.cjs",[[17,"limebb-browser",{"platform":[16],"context":[16],"items":[16],"layout":[1],"filter":[32]}]]],["limebb-component-config.cjs",[[1,"limebb-component-config",{"platform":[16],"context":[16],"value":[16],"required":[4],"readonly":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"],"formInfo":[16],"type":[1],"nameField":[1,"name-field"],"configComponent":[32],"configViewType":[32]},null,{"formInfo":["watchFormInfo"],"configComponent":["watchconfigComponent"]}]]],["limebb-component-picker.cjs",[[1,"limebb-component-picker",{"platform":[16],"context":[16],"type":[1],"tags":[16],"value":[1],"copyLabel":[1,"copy-label"],"hideCopyButton":[4,"hide-copy-button"],"required":[4],"readonly":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"]}]]],["limebb-dashboard-widget.cjs",[[1,"limebb-dashboard-widget",{"heading":[513],"subheading":[513],"supportingText":[513,"supporting-text"],"icon":[513]}]]],["limebb-icon-picker.cjs",[[1,"limebb-icon-picker",{"value":[1],"required":[4],"readonly":[4],"invalid":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"]}]]],["limebb-info-tile.cjs",[[1,"limebb-info-tile",{"platform":[16],"context":[16],"filterId":[513,"filter-id"],"disabled":[4],"icon":[513],"label":[1],"prefix":[1],"suffix":[1],"propertyName":[1,"property-name"],"aggregateOperator":[1,"aggregate-operator"],"format":[16],"config":[32],"filters":[32],"value":[32],"loading":[32],"error":[32]},null,{"filterId":["watchFilterId"],"propertyName":["watchPropertyName"],"aggregateOperator":["watchAggregateOperator"]}]]],["limebb-info-tile-date-format.cjs",[[1,"limebb-info-tile-date-format",{"value":[16]}]]],["limebb-info-tile-decimal-format.cjs",[[1,"limebb-info-tile-decimal-format",{"value":[16]}]]],["limebb-info-tile-format.cjs",[[1,"limebb-info-tile-format",{"platform":[16],"context":[16],"type":[1],"value":[16]}]]],["limebb-info-tile-relative-date-format.cjs",[[1,"limebb-info-tile-relative-date-format",{"value":[16]}]]],["limebb-info-tile-unit-format.cjs",[[1,"limebb-info-tile-unit-format",{"value":[16]}]]],["limebb-limeobject-file-viewer.cjs",[[1,"limebb-limeobject-file-viewer",{"platform":[16],"context":[16],"property":[1],"fileTypes":[16],"limeobject":[32],"limetype":[32]}]]],["limebb-locale-picker.cjs",[[1,"limebb-locale-picker",{"platform":[16],"context":[16],"value":[1],"required":[4],"disabled":[4],"label":[1],"helperText":[1,"helper-text"],"readonly":[4],"multipleChoice":[4,"multiple-choice"],"allLanguages":[32]}]]],["limebb-mention.cjs",[[1,"limebb-mention",{"limetype":[1],"objectid":[2],"limeobject":[32]}]]],["limebb-mention-group-counter.cjs",[[1,"limebb-mention-group-counter",{"count":[2],"limetype":[16],"helperLabel":[1,"helper-label"]}]]],["limebb-trend-indicator.cjs",[[1,"limebb-trend-indicator",{"platform":[16],"context":[16],"value":[520],"formerValue":[514,"former-value"],"suffix":[513],"label":[513],"invalid":[516],"helperText":[513,"helper-text"],"reducePresence":[516,"reduce-presence"]},null,{"value":["valueChanged"]}]]],["limebb-navigation-button_2.cjs",[[1,"limebb-summary-popover",{"triggerDelay":[514,"trigger-delay"],"heading":[513],"subheading":[513],"image":[16],"icon":[513],"value":[1],"openDirection":[513,"open-direction"],"popoverMaxWidth":[513,"popover-max-width"],"popoverMaxHeight":[513,"popover-max-height"],"actions":[16],"isPopoverOpen":[32]}],[17,"limebb-navigation-button",{"href":[513],"tooltipLabel":[513,"tooltip-label"],"tooltipHelperLabel":[513,"tooltip-helper-label"],"type":[513]}]]],["limebb-kanban-item.cjs",[[1,"limebb-kanban-item",{"platform":[16],"context":[16],"item":[16]}]]],["limebb-kanban-group.cjs",[[1,"limebb-kanban-group",{"platform":[16],"context":[16],"identifier":[1],"heading":[513],"help":[1],"items":[16],"summary":[1],"loading":[516],"totalCount":[514,"total-count"]}]]],["limebb-feed-timeline-item.cjs",[[1,"limebb-feed-timeline-item",{"platform":[16],"context":[16],"item":[16],"ui":[513],"isBundled":[516,"is-bundled"],"headingCanExpand":[32],"isHeadingExpanded":[32],"showMore":[32],"isTall":[32]}]]],["limebb-text-editor-picker.cjs",[[1,"limebb-text-editor-picker",{"items":[16],"open":[516],"isSearching":[4,"is-searching"],"emptyMessage":[1,"empty-message"]},null,{"open":["watchOpen"]}]]],["limebb-currency-picker.cjs",[[1,"limebb-currency-picker",{"platform":[16],"context":[16],"label":[513],"currencies":[16],"helperText":[513,"helper-text"],"required":[516],"readonly":[516],"invalid":[516],"disabled":[516],"value":[1]}]]],["limebb-date-picker.cjs",[[1,"limebb-date-picker",{"platform":[16],"context":[16],"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"placeholder":[513],"helperText":[513,"helper-text"],"required":[516],"value":[1],"type":[513]}]]],["limebb-notification-item.cjs",[[1,"limebb-notification-item",{"platform":[16],"context":[16],"item":[16]}]]],["limebb-chat-item_2.cjs",[[1,"limebb-chat-item",{"platform":[16],"context":[16],"item":[16]}],[1,"limebb-typing-indicator"]]],["limebb-empty-state.cjs",[[1,"limebb-empty-state",{"heading":[513],"value":[513],"icon":[16]}]]]], options);
12
12
  };
13
13
 
14
14
  exports.setNonce = index.setNonce;