@limetech/lime-crm-building-blocks 1.110.3 → 1.111.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 (117) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/dom-2ea30350.js +28 -0
  3. package/dist/cjs/{index.esm-b68bd570.js → index.esm-e01e9bd4.js} +2 -1
  4. package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
  5. package/dist/cjs/{lime-query-validation-5eb432fe.js → lime-query-validation-c118b96d.js} +1 -1
  6. package/dist/cjs/limebb-browser.cjs.entry.js +1 -1
  7. package/dist/cjs/limebb-chat-item_2.cjs.entry.js +1 -1
  8. package/dist/cjs/limebb-chat-list.cjs.entry.js +1 -1
  9. package/dist/cjs/limebb-component-config.cjs.entry.js +1 -1
  10. package/dist/cjs/limebb-component-picker.cjs.entry.js +1 -1
  11. package/dist/cjs/limebb-currency-picker.cjs.entry.js +1 -1
  12. package/dist/cjs/limebb-data-cells.cjs.entry.js +1 -1
  13. package/dist/cjs/limebb-date-picker.cjs.entry.js +1 -1
  14. package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +1 -1
  15. package/dist/cjs/limebb-feed.cjs.entry.js +1 -1
  16. package/dist/cjs/limebb-info-tile.cjs.entry.js +1 -1
  17. package/dist/cjs/limebb-kanban-group.cjs.entry.js +1 -1
  18. package/dist/cjs/limebb-kanban-item.cjs.entry.js +1 -1
  19. package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +2 -2
  20. package/dist/cjs/limebb-lime-query-filter-builder_3.cjs.entry.js +2 -2
  21. package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +1 -1
  22. package/dist/cjs/limebb-lime-query-filter-group_3.cjs.entry.js +1 -1
  23. package/dist/cjs/limebb-lime-query-response-format-builder.cjs.entry.js +2 -2
  24. package/dist/cjs/limebb-limeobject-file-viewer.cjs.entry.js +1 -1
  25. package/dist/cjs/limebb-loader.cjs.entry.js +1 -1
  26. package/dist/cjs/limebb-locale-picker.cjs.entry.js +1 -1
  27. package/dist/cjs/limebb-mention.cjs.entry.js +3 -27
  28. package/dist/cjs/limebb-notification-item.cjs.entry.js +1 -1
  29. package/dist/cjs/limebb-notification-list.cjs.entry.js +1 -1
  30. package/dist/cjs/limebb-object-chip.cjs.entry.js +216 -0
  31. package/dist/cjs/limebb-property-selector.cjs.entry.js +2 -2
  32. package/dist/cjs/limebb-text-editor.cjs.entry.js +4 -3
  33. package/dist/cjs/{limetype-b91060e7.js → limetype-3c1c53b6.js} +1 -1
  34. package/dist/cjs/loader.cjs.js +1 -1
  35. package/dist/collection/collection-manifest.json +1 -0
  36. package/dist/collection/components/object-chip/object-chip.css +3 -0
  37. package/dist/collection/components/object-chip/object-chip.js +157 -0
  38. package/dist/collection/components/text-editor/text-editor.js +3 -1
  39. package/dist/collection/util/object-resolver.js +151 -0
  40. package/dist/components/dom.js +26 -0
  41. package/dist/components/index.esm.js +1 -1
  42. package/dist/components/limebb-mention.js +1 -25
  43. package/dist/components/limebb-object-chip.d.ts +11 -0
  44. package/dist/components/limebb-object-chip.js +238 -0
  45. package/dist/components/limebb-text-editor.js +3 -2
  46. package/dist/esm/dom-9cc051d7.js +26 -0
  47. package/dist/esm/{index.esm-863d7783.js → index.esm-11a8b9e2.js} +1 -1
  48. package/dist/esm/lime-crm-building-blocks.js +1 -1
  49. package/dist/esm/{lime-query-validation-84253575.js → lime-query-validation-01797a51.js} +1 -1
  50. package/dist/esm/limebb-browser.entry.js +1 -1
  51. package/dist/esm/limebb-chat-item_2.entry.js +1 -1
  52. package/dist/esm/limebb-chat-list.entry.js +1 -1
  53. package/dist/esm/limebb-component-config.entry.js +1 -1
  54. package/dist/esm/limebb-component-picker.entry.js +1 -1
  55. package/dist/esm/limebb-currency-picker.entry.js +1 -1
  56. package/dist/esm/limebb-data-cells.entry.js +1 -1
  57. package/dist/esm/limebb-date-picker.entry.js +1 -1
  58. package/dist/esm/limebb-feed-timeline-item.entry.js +1 -1
  59. package/dist/esm/limebb-feed.entry.js +1 -1
  60. package/dist/esm/limebb-info-tile.entry.js +1 -1
  61. package/dist/esm/limebb-kanban-group.entry.js +1 -1
  62. package/dist/esm/limebb-kanban-item.entry.js +1 -1
  63. package/dist/esm/limebb-lime-query-builder.entry.js +2 -2
  64. package/dist/esm/limebb-lime-query-filter-builder_3.entry.js +2 -2
  65. package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +1 -1
  66. package/dist/esm/limebb-lime-query-filter-group_3.entry.js +1 -1
  67. package/dist/esm/limebb-lime-query-response-format-builder.entry.js +2 -2
  68. package/dist/esm/limebb-limeobject-file-viewer.entry.js +1 -1
  69. package/dist/esm/limebb-loader.entry.js +1 -1
  70. package/dist/esm/limebb-locale-picker.entry.js +1 -1
  71. package/dist/esm/limebb-mention.entry.js +2 -26
  72. package/dist/esm/limebb-notification-item.entry.js +1 -1
  73. package/dist/esm/limebb-notification-list.entry.js +1 -1
  74. package/dist/esm/limebb-object-chip.entry.js +212 -0
  75. package/dist/esm/limebb-property-selector.entry.js +2 -2
  76. package/dist/esm/limebb-text-editor.entry.js +4 -3
  77. package/dist/esm/{limetype-09477163.js → limetype-12fbba0f.js} +2 -2
  78. package/dist/esm/loader.js +1 -1
  79. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  80. package/dist/lime-crm-building-blocks/{p-bd92871a.entry.js → p-01375d63.entry.js} +1 -1
  81. package/dist/lime-crm-building-blocks/{p-6aeb7b9b.js → p-0a266c26.js} +1 -1
  82. package/dist/lime-crm-building-blocks/{p-3b1fcd5b.js → p-199799ff.js} +1 -1
  83. package/dist/lime-crm-building-blocks/{p-da511a18.entry.js → p-199f0a47.entry.js} +1 -1
  84. package/dist/lime-crm-building-blocks/{p-27e84266.entry.js → p-1b2ed672.entry.js} +1 -1
  85. package/dist/lime-crm-building-blocks/{p-14685f34.entry.js → p-3d4c4df2.entry.js} +1 -1
  86. package/dist/lime-crm-building-blocks/p-4a85590d.js +1 -0
  87. package/dist/lime-crm-building-blocks/{p-0da02112.entry.js → p-4b494de7.entry.js} +1 -1
  88. package/dist/lime-crm-building-blocks/{p-37982f06.entry.js → p-517fd960.entry.js} +1 -1
  89. package/dist/lime-crm-building-blocks/{p-fc92dab6.entry.js → p-59b4af72.entry.js} +1 -1
  90. package/dist/lime-crm-building-blocks/{p-96775953.entry.js → p-5f5cd2b2.entry.js} +1 -1
  91. package/dist/lime-crm-building-blocks/{p-f1eee3bb.entry.js → p-6bd3f952.entry.js} +1 -1
  92. package/dist/lime-crm-building-blocks/{p-c9460ae0.entry.js → p-77e7d7da.entry.js} +1 -1
  93. package/dist/lime-crm-building-blocks/p-77ef7ad1.entry.js +1 -0
  94. package/dist/lime-crm-building-blocks/{p-c3c0c738.entry.js → p-81583fc8.entry.js} +1 -1
  95. package/dist/lime-crm-building-blocks/{p-85cae2a1.entry.js → p-85c04627.entry.js} +1 -1
  96. package/dist/lime-crm-building-blocks/{p-3f0e4017.entry.js → p-87e5d049.entry.js} +1 -1
  97. package/dist/lime-crm-building-blocks/{p-4fa58e0e.entry.js → p-95b6eaf5.entry.js} +1 -1
  98. package/dist/lime-crm-building-blocks/{p-77b97c9f.entry.js → p-a954d06e.entry.js} +1 -1
  99. package/dist/lime-crm-building-blocks/{p-7c04361c.entry.js → p-ac833ff7.entry.js} +1 -1
  100. package/dist/lime-crm-building-blocks/{p-d4273468.entry.js → p-acf77715.entry.js} +1 -1
  101. package/dist/lime-crm-building-blocks/{p-cbbcec09.entry.js → p-af1e3cac.entry.js} +1 -1
  102. package/dist/lime-crm-building-blocks/p-b7959ddb.entry.js +1 -0
  103. package/dist/lime-crm-building-blocks/{p-f97ea913.entry.js → p-c38f0931.entry.js} +1 -1
  104. package/dist/lime-crm-building-blocks/{p-0ed58846.entry.js → p-d2bd2fc3.entry.js} +1 -1
  105. package/dist/lime-crm-building-blocks/{p-9f2a9cf5.js → p-d47b6c3c.js} +1 -1
  106. package/dist/lime-crm-building-blocks/{p-4584e9c8.entry.js → p-e8069516.entry.js} +1 -1
  107. package/dist/lime-crm-building-blocks/p-eb4aa158.entry.js +1 -0
  108. package/dist/lime-crm-building-blocks/{p-9624acfd.entry.js → p-ef08b09f.entry.js} +1 -1
  109. package/dist/lime-crm-building-blocks/{p-dd6861b1.entry.js → p-f965d2a6.entry.js} +1 -1
  110. package/dist/lime-crm-building-blocks/{p-aec5cbca.entry.js → p-f9daa703.entry.js} +1 -1
  111. package/dist/types/components/object-chip/object-chip.d.ts +47 -0
  112. package/dist/types/components/text-editor/text-editor.d.ts +1 -0
  113. package/dist/types/components.d.ts +93 -0
  114. package/dist/types/util/object-resolver.d.ts +66 -0
  115. package/package.json +1 -1
  116. package/dist/lime-crm-building-blocks/p-351de229.entry.js +0 -1
  117. package/dist/lime-crm-building-blocks/p-d51d607b.entry.js +0 -1
@@ -0,0 +1,151 @@
1
+ import { findParentElement } from "./dom";
2
+ import { createLogger, PlatformServiceName, } from "@limetech/lime-web-components";
3
+ const logger = createLogger('object-resolver');
4
+ /**
5
+ * Build the navigation URL for a Lime CRM object.
6
+ * @param limetype
7
+ * @param objectid
8
+ */
9
+ export function getObjectUrl(limetype, objectid) {
10
+ return `object/${limetype}/${objectid}`;
11
+ }
12
+ /**
13
+ * Resolves platform, limetype metadata, and object data for a given
14
+ * limetype + objectid pair.
15
+ *
16
+ * Designed to be used by Stencil components: pass an `onStateChange`
17
+ * callback that updates a `@State()` property to trigger re-renders.
18
+ */
19
+ export class ObjectResolver {
20
+ constructor(onStateChange) {
21
+ this.onStateChange = onStateChange;
22
+ this.state = { loadFailed: false };
23
+ this.hasPendingLoad = false;
24
+ this.isDisconnected = false;
25
+ }
26
+ /**
27
+ * The resolved platform instance, if any.
28
+ */
29
+ get resolvedPlatform() {
30
+ return this._platform;
31
+ }
32
+ /**
33
+ * Initialize the resolver. Call from `connectedCallback()`.
34
+ *
35
+ * @param limetype - name of the limetype
36
+ * @param objectid - id of the object
37
+ * @param hostElement - the component's host element (for DOM-walking fallback)
38
+ * @param platform - optional platform prop (skips DOM walk if provided)
39
+ */
40
+ connect(limetype, objectid, hostElement, platform) {
41
+ this.limetype = limetype;
42
+ this.objectid = objectid;
43
+ this.isDisconnected = false;
44
+ this.hasPendingLoad = false;
45
+ this._platform = platform || this.findPlatform(hostElement);
46
+ if (!this._platform) {
47
+ logger.error(`No platform found. Pass "platform" prop or place the component inside a parent that exposes "platform". limetype=${limetype}, objectid=${objectid}`);
48
+ return;
49
+ }
50
+ this.resolveLimeType();
51
+ this.loadLimeObject();
52
+ }
53
+ /**
54
+ * Handle prop changes. Call from `@Watch` handlers.
55
+ *
56
+ * Debounces via `queueMicrotask` so that simultaneous changes to
57
+ * both `limetype` and `objectid` result in a single load.
58
+ * @param limetype
59
+ * @param objectid
60
+ */
61
+ update(limetype, objectid) {
62
+ this.limetype = limetype;
63
+ this.objectid = objectid;
64
+ this.updateState({
65
+ limeobject: undefined,
66
+ limetypeData: undefined,
67
+ loadFailed: false,
68
+ });
69
+ if (this.hasPendingLoad) {
70
+ return;
71
+ }
72
+ this.hasPendingLoad = true;
73
+ queueMicrotask(() => {
74
+ this.hasPendingLoad = false;
75
+ if (this.isDisconnected) {
76
+ return;
77
+ }
78
+ if (!this._platform) {
79
+ this.updateState({ loadFailed: true });
80
+ logger.warn(`Cannot update: no platform available. limetype=${this.limetype}, objectid=${this.objectid}`);
81
+ return;
82
+ }
83
+ this.resolveLimeType();
84
+ this.loadLimeObject();
85
+ });
86
+ }
87
+ /**
88
+ * Prevent stale updates after the component disconnects.
89
+ * Call from `disconnectedCallback()`.
90
+ */
91
+ disconnect() {
92
+ this.isDisconnected = true;
93
+ }
94
+ findPlatform(hostElement) {
95
+ const element = findParentElement(hostElement, this.hasPlatformProp);
96
+ return element === null || element === void 0 ? void 0 : element.platform;
97
+ }
98
+ hasPlatformProp(element) {
99
+ if (!('platform' in element)) {
100
+ return false;
101
+ }
102
+ if (!element.platform) {
103
+ return false;
104
+ }
105
+ return typeof element.platform === 'object';
106
+ }
107
+ resolveLimeType() {
108
+ const repository = this._platform.get(PlatformServiceName.LimeTypeRepository);
109
+ this.updateState({
110
+ limetypeData: repository.getLimeType(this.limetype),
111
+ });
112
+ }
113
+ async loadLimeObject() {
114
+ const limetype = this.limetype;
115
+ const objectid = this.objectid;
116
+ const repository = this._platform.get(PlatformServiceName.LimeObjectRepository);
117
+ const cached = repository.getObject(limetype, objectid);
118
+ if (cached) {
119
+ this.updateState({ limeobject: cached });
120
+ return;
121
+ }
122
+ try {
123
+ await repository.loadObject(limetype, objectid);
124
+ }
125
+ catch (error) {
126
+ if (this.isStale(limetype, objectid)) {
127
+ return;
128
+ }
129
+ this.updateState({ loadFailed: true });
130
+ logger.error(`Failed to load ${limetype}/${objectid}`, error);
131
+ return;
132
+ }
133
+ if (this.isStale(limetype, objectid)) {
134
+ return;
135
+ }
136
+ this.updateState({
137
+ limeobject: repository.getObject(limetype, objectid),
138
+ });
139
+ }
140
+ isStale(limetype, objectid) {
141
+ return (this.isDisconnected ||
142
+ this.limetype !== limetype ||
143
+ this.objectid !== objectid);
144
+ }
145
+ updateState(partial) {
146
+ this.state = Object.assign(Object.assign({}, this.state), partial);
147
+ if (!this.isDisconnected) {
148
+ this.onStateChange(this.state);
149
+ }
150
+ }
151
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Find the closest parent element matching the given predicate
3
+ *
4
+ * @param element - the element to check if it matches the given
5
+ * predicate
6
+ * @param predicate - predicate function
7
+ * @returns the matching element if it is found
8
+ */
9
+ function findParentElement(element, predicate) {
10
+ if (predicate(element)) {
11
+ return element;
12
+ }
13
+ let parent = element.parentElement || element.parentNode;
14
+ if (isShadowRoot(parent)) {
15
+ parent = parent.host;
16
+ }
17
+ if (!parent) {
18
+ return;
19
+ }
20
+ return findParentElement(parent, predicate);
21
+ }
22
+ function isShadowRoot(node) {
23
+ return (node === null || node === void 0 ? void 0 : node.nodeType) === Node.DOCUMENT_FRAGMENT_NODE;
24
+ }
25
+
26
+ export { findParentElement as f };
@@ -960,4 +960,4 @@ try {
960
960
  } catch {
961
961
  }
962
962
 
963
- export { Ye as Y, Ze as Z, ar as a, cr as b, c, d, fr as f, ir as i, qe as q, re as r, sr as s, ze as z };
963
+ export { De as D, Ye as Y, Ze as Z, ar as a, cr as b, c, d, fr as f, ir as i, qe as q, re as r, sr as s, ze as z };
@@ -1,31 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, getElement, h } from '@stencil/core/internal/client';
2
+ import { f as findParentElement } from './dom.js';
2
3
  import { c } from './index.esm.js';
3
4
 
4
- /**
5
- * Find the closest parent element matching the given predicate
6
- *
7
- * @param element - the element to check if it matches the given
8
- * predicate
9
- * @param predicate - predicate function
10
- * @returns the matching element if it is found
11
- */
12
- function findParentElement(element, predicate) {
13
- if (predicate(element)) {
14
- return element;
15
- }
16
- let parent = element.parentElement || element.parentNode;
17
- if (isShadowRoot(parent)) {
18
- parent = parent.host;
19
- }
20
- if (!parent) {
21
- return;
22
- }
23
- return findParentElement(parent, predicate);
24
- }
25
- function isShadowRoot(node) {
26
- return (node === null || node === void 0 ? void 0 : node.nodeType) === Node.DOCUMENT_FRAGMENT_NODE;
27
- }
28
-
29
5
  const mentionCss = ":host(limebb-mention){display:inline}a{transition:background-color 0.2s ease;white-space:normal;overflow-wrap:break-word;word-break:break-word;padding:0 0.125rem;border-radius:0.25rem;text-decoration:none;color:rgb(var(--color-blue-default));background-color:rgb(var(--color-blue-default), 0.06)}a:hover{background-color:rgb(var(--color-blue-default), 0.16)}a:before,span:before{content:\"@\";opacity:0.7}";
30
6
  const LimebbMentionStyle0 = mentionCss;
31
7
 
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface LimebbObjectChip extends Components.LimebbObjectChip, HTMLElement {}
4
+ export const LimebbObjectChip: {
5
+ prototype: LimebbObjectChip;
6
+ new (): LimebbObjectChip;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,238 @@
1
+ import { proxyCustomElement, HTMLElement, getElement, h } from '@stencil/core/internal/client';
2
+ import { g as getIcon } from './limetype.js';
3
+ import { f as findParentElement } from './dom.js';
4
+ import { D as De, c } from './index.esm.js';
5
+
6
+ const logger = De('object-resolver');
7
+ /**
8
+ * Build the navigation URL for a Lime CRM object.
9
+ * @param limetype
10
+ * @param objectid
11
+ */
12
+ function getObjectUrl(limetype, objectid) {
13
+ return `object/${limetype}/${objectid}`;
14
+ }
15
+ /**
16
+ * Resolves platform, limetype metadata, and object data for a given
17
+ * limetype + objectid pair.
18
+ *
19
+ * Designed to be used by Stencil components: pass an `onStateChange`
20
+ * callback that updates a `@State()` property to trigger re-renders.
21
+ */
22
+ class ObjectResolver {
23
+ constructor(onStateChange) {
24
+ this.onStateChange = onStateChange;
25
+ this.state = { loadFailed: false };
26
+ this.hasPendingLoad = false;
27
+ this.isDisconnected = false;
28
+ }
29
+ /**
30
+ * The resolved platform instance, if any.
31
+ */
32
+ get resolvedPlatform() {
33
+ return this._platform;
34
+ }
35
+ /**
36
+ * Initialize the resolver. Call from `connectedCallback()`.
37
+ *
38
+ * @param limetype - name of the limetype
39
+ * @param objectid - id of the object
40
+ * @param hostElement - the component's host element (for DOM-walking fallback)
41
+ * @param platform - optional platform prop (skips DOM walk if provided)
42
+ */
43
+ connect(limetype, objectid, hostElement, platform) {
44
+ this.limetype = limetype;
45
+ this.objectid = objectid;
46
+ this.isDisconnected = false;
47
+ this.hasPendingLoad = false;
48
+ this._platform = platform || this.findPlatform(hostElement);
49
+ if (!this._platform) {
50
+ logger.error(`No platform found. Pass "platform" prop or place the component inside a parent that exposes "platform". limetype=${limetype}, objectid=${objectid}`);
51
+ return;
52
+ }
53
+ this.resolveLimeType();
54
+ this.loadLimeObject();
55
+ }
56
+ /**
57
+ * Handle prop changes. Call from `@Watch` handlers.
58
+ *
59
+ * Debounces via `queueMicrotask` so that simultaneous changes to
60
+ * both `limetype` and `objectid` result in a single load.
61
+ * @param limetype
62
+ * @param objectid
63
+ */
64
+ update(limetype, objectid) {
65
+ this.limetype = limetype;
66
+ this.objectid = objectid;
67
+ this.updateState({
68
+ limeobject: undefined,
69
+ limetypeData: undefined,
70
+ loadFailed: false,
71
+ });
72
+ if (this.hasPendingLoad) {
73
+ return;
74
+ }
75
+ this.hasPendingLoad = true;
76
+ queueMicrotask(() => {
77
+ this.hasPendingLoad = false;
78
+ if (this.isDisconnected) {
79
+ return;
80
+ }
81
+ if (!this._platform) {
82
+ this.updateState({ loadFailed: true });
83
+ logger.warn(`Cannot update: no platform available. limetype=${this.limetype}, objectid=${this.objectid}`);
84
+ return;
85
+ }
86
+ this.resolveLimeType();
87
+ this.loadLimeObject();
88
+ });
89
+ }
90
+ /**
91
+ * Prevent stale updates after the component disconnects.
92
+ * Call from `disconnectedCallback()`.
93
+ */
94
+ disconnect() {
95
+ this.isDisconnected = true;
96
+ }
97
+ findPlatform(hostElement) {
98
+ const element = findParentElement(hostElement, this.hasPlatformProp);
99
+ return element === null || element === void 0 ? void 0 : element.platform;
100
+ }
101
+ hasPlatformProp(element) {
102
+ if (!('platform' in element)) {
103
+ return false;
104
+ }
105
+ if (!element.platform) {
106
+ return false;
107
+ }
108
+ return typeof element.platform === 'object';
109
+ }
110
+ resolveLimeType() {
111
+ const repository = this._platform.get(c.LimeTypeRepository);
112
+ this.updateState({
113
+ limetypeData: repository.getLimeType(this.limetype),
114
+ });
115
+ }
116
+ async loadLimeObject() {
117
+ const limetype = this.limetype;
118
+ const objectid = this.objectid;
119
+ const repository = this._platform.get(c.LimeObjectRepository);
120
+ const cached = repository.getObject(limetype, objectid);
121
+ if (cached) {
122
+ this.updateState({ limeobject: cached });
123
+ return;
124
+ }
125
+ try {
126
+ await repository.loadObject(limetype, objectid);
127
+ }
128
+ catch (error) {
129
+ if (this.isStale(limetype, objectid)) {
130
+ return;
131
+ }
132
+ this.updateState({ loadFailed: true });
133
+ logger.error(`Failed to load ${limetype}/${objectid}`, error);
134
+ return;
135
+ }
136
+ if (this.isStale(limetype, objectid)) {
137
+ return;
138
+ }
139
+ this.updateState({
140
+ limeobject: repository.getObject(limetype, objectid),
141
+ });
142
+ }
143
+ isStale(limetype, objectid) {
144
+ return (this.isDisconnected ||
145
+ this.limetype !== limetype ||
146
+ this.objectid !== objectid);
147
+ }
148
+ updateState(partial) {
149
+ this.state = Object.assign(Object.assign({}, this.state), partial);
150
+ if (!this.isDisconnected) {
151
+ this.onStateChange(this.state);
152
+ }
153
+ }
154
+ }
155
+
156
+ const objectChipCss = ":host{display:inline-block}";
157
+ const LimebbObjectChipStyle0 = objectChipCss;
158
+
159
+ const ObjectChip = /*@__PURE__*/ proxyCustomElement(class ObjectChip extends HTMLElement {
160
+ constructor() {
161
+ super();
162
+ this.__registerHost();
163
+ this.__attachShadow();
164
+ this.data = { loadFailed: false };
165
+ this.resolver = new ObjectResolver((data) => {
166
+ this.data = data;
167
+ });
168
+ }
169
+ connectedCallback() {
170
+ this.resolver.connect(this.limetype, this.objectid, getElement(this), this.platform);
171
+ }
172
+ disconnectedCallback() {
173
+ this.resolver.disconnect();
174
+ }
175
+ handlePropChange() {
176
+ this.resolver.update(this.limetype, this.objectid);
177
+ }
178
+ render() {
179
+ if (!this.resolver.resolvedPlatform) {
180
+ return;
181
+ }
182
+ const icon = getIcon(this.data.limetypeData);
183
+ return (h("limel-chip", { text: this.getChipText(), icon: icon, link: { href: getObjectUrl(this.limetype, this.objectid) }, loading: !this.data.limeobject && !this.data.loadFailed }));
184
+ }
185
+ getChipText() {
186
+ var _a;
187
+ if ((_a = this.data.limeobject) === null || _a === void 0 ? void 0 : _a.descriptive) {
188
+ return this.data.limeobject.descriptive;
189
+ }
190
+ if (this.data.loadFailed) {
191
+ return this.getErrorText();
192
+ }
193
+ return '';
194
+ }
195
+ getErrorText() {
196
+ if (!this.resolver.resolvedPlatform) {
197
+ return 'loading failed';
198
+ }
199
+ try {
200
+ const translator = this.resolver.resolvedPlatform.get(c.Translate);
201
+ return translator.get('webclient.limeobject.errors.load-failed');
202
+ }
203
+ catch (_a) {
204
+ return 'loading failed';
205
+ }
206
+ }
207
+ static get watchers() { return {
208
+ "limetype": ["handlePropChange"],
209
+ "objectid": ["handlePropChange"]
210
+ }; }
211
+ static get style() { return LimebbObjectChipStyle0; }
212
+ }, [1, "limebb-object-chip", {
213
+ "limetype": [1],
214
+ "objectid": [2],
215
+ "platform": [16],
216
+ "data": [32]
217
+ }, undefined, {
218
+ "limetype": ["handlePropChange"],
219
+ "objectid": ["handlePropChange"]
220
+ }]);
221
+ function defineCustomElement$1() {
222
+ if (typeof customElements === "undefined") {
223
+ return;
224
+ }
225
+ const components = ["limebb-object-chip"];
226
+ components.forEach(tagName => { switch (tagName) {
227
+ case "limebb-object-chip":
228
+ if (!customElements.get(tagName)) {
229
+ customElements.define(tagName, ObjectChip);
230
+ }
231
+ break;
232
+ } });
233
+ }
234
+
235
+ const LimebbObjectChip = ObjectChip;
236
+ const defineCustomElement = defineCustomElement$1;
237
+
238
+ export { LimebbObjectChip, defineCustomElement };
@@ -1777,7 +1777,7 @@ const LimeBBTextEditor = /*@__PURE__*/ proxyCustomElement(class LimeBBTextEditor
1777
1777
  }
1778
1778
  render() {
1779
1779
  return [
1780
- h("limel-text-editor", { key: 'c6183e3d0643144f6b80ab413fd50466fe3b6b08', 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 }),
1780
+ h("limel-text-editor", { key: '74b1c4a2b87837c15da858fd98c138cf8a9623f0', 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 }),
1781
1781
  this.renderPicker(),
1782
1782
  ];
1783
1783
  }
@@ -1829,13 +1829,14 @@ const LimeBBTextEditor = /*@__PURE__*/ proxyCustomElement(class LimeBBTextEditor
1829
1829
  get userDataService() {
1830
1830
  return this.platform.get(c.UserDataRepository);
1831
1831
  }
1832
+ static get delegatesFocus() { return true; }
1832
1833
  get host() { return this; }
1833
1834
  static get watchers() { return {
1834
1835
  "isPickerOpen": ["watchOpen"],
1835
1836
  "editorPickerQuery": ["watchQuery"]
1836
1837
  }; }
1837
1838
  static get style() { return LimebbTextEditorStyle0; }
1838
- }, [1, "limebb-text-editor", {
1839
+ }, [17, "limebb-text-editor", {
1839
1840
  "platform": [16],
1840
1841
  "context": [16],
1841
1842
  "allowMentioning": [4, "allow-mentioning"],
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Find the closest parent element matching the given predicate
3
+ *
4
+ * @param element - the element to check if it matches the given
5
+ * predicate
6
+ * @param predicate - predicate function
7
+ * @returns the matching element if it is found
8
+ */
9
+ function findParentElement(element, predicate) {
10
+ if (predicate(element)) {
11
+ return element;
12
+ }
13
+ let parent = element.parentElement || element.parentNode;
14
+ if (isShadowRoot(parent)) {
15
+ parent = parent.host;
16
+ }
17
+ if (!parent) {
18
+ return;
19
+ }
20
+ return findParentElement(parent, predicate);
21
+ }
22
+ function isShadowRoot(node) {
23
+ return (node === null || node === void 0 ? void 0 : node.nodeType) === Node.DOCUMENT_FRAGMENT_NODE;
24
+ }
25
+
26
+ export { findParentElement as f };
@@ -960,4 +960,4 @@ try {
960
960
  } catch {
961
961
  }
962
962
 
963
- export { Ye as Y, Ze as Z, ar as a, cr as b, c, d, fr as f, ir as i, qe as q, re as r, sr as s, ze as z };
963
+ export { De as D, Ye as Y, Ze as Z, ar as a, cr as b, c, d, fr as f, ir as i, qe as q, re as r, sr as s, ze as z };
@@ -16,5 +16,5 @@ var patchBrowser = () => {
16
16
 
17
17
  patchBrowser().then(async (options) => {
18
18
  await globalScripts();
19
- return bootstrapLazy(JSON.parse("[[\"limebb-lime-query-builder\",[[1,\"limebb-lime-query-builder\",{\"platform\":[16],\"context\":[16],\"value\":[16],\"label\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"limetypes\":[32],\"mode\":[32],\"codeValue\":[32],\"limetype\":[32],\"filter\":[32],\"internalResponseFormat\":[32],\"limit\":[32],\"orderBy\":[32],\"description\":[32]}]]],[\"limebb-feed\",[[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\":[513],\"lastVisitedTimestamp\":[1,\"last-visited-timestamp\"],\"highlightedItemId\":[8,\"highlighted-item-id\"]},null,{\"highlightedItemId\":[\"highlightedItemIdChanged\"]}]]],[\"limebb-kanban\",[[1,\"limebb-kanban\",{\"platform\":[16],\"context\":[16],\"groups\":[16]}]]],[\"limebb-lime-query-response-format-builder\",[[1,\"limebb-lime-query-response-format-builder\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[16],\"label\":[1],\"helperText\":[1,\"helper-text\"],\"limetypes\":[32],\"mode\":[32],\"codeValue\":[32],\"internalValue\":[32]}]]],[\"limebb-chat-list\",[[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-limeobject-file-viewer\",[[1,\"limebb-limeobject-file-viewer\",{\"platform\":[16],\"context\":[16],\"property\":[1],\"fileTypes\":[16],\"limeobject\":[32],\"limetype\":[32]}]]],[\"limebb-text-editor\",[[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],\"allowInlineImages\":[4,\"allow-inline-images\"],\"items\":[32],\"highlightedItemIndex\":[32],\"editorPickerQuery\":[32],\"searchableLimetypes\":[32],\"isPickerOpen\":[32],\"isSearching\":[32]},null,{\"isPickerOpen\":[\"watchOpen\"],\"editorPickerQuery\":[\"watchQuery\"]}]]],[\"limebb-data-cells\",[[1,\"limebb-data-cells\",{\"platform\":[16],\"context\":[16],\"limeobject\":[8],\"items\":[16]}]]],[\"limebb-date-range\",[[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-document-picker\",[[1,\"limebb-document-picker\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"invalid\":[516],\"required\":[516],\"type\":[513]}]]],[\"limebb-info-tile-currency-format\",[[1,\"limebb-info-tile-currency-format\",{\"platform\":[16],\"context\":[16],\"value\":[16]}]]],[\"limebb-notification-list\",[[1,\"limebb-notification-list\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"loading\":[4],\"lastVisitedTimestamp\":[1,\"last-visited-timestamp\"]},null,{\"items\":[\"handleItemsChange\"]}]]],[\"limebb-browser\",[[17,\"limebb-browser\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"layout\":[1],\"filter\":[32]}]]],[\"limebb-component-config\",[[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\",[[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\",[[1,\"limebb-dashboard-widget\",{\"heading\":[513],\"subheading\":[513],\"supportingText\":[513,\"supporting-text\"],\"icon\":[513]}]]],[\"limebb-icon-picker\",[[1,\"limebb-icon-picker\",{\"value\":[1],\"required\":[4],\"readonly\":[4],\"invalid\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"]}]]],[\"limebb-info-tile\",[[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],\"limetypes\":[32]},null,{\"filterId\":[\"watchFilterId\"],\"propertyName\":[\"watchPropertyName\"],\"aggregateOperator\":[\"watchAggregateOperator\"]}]]],[\"limebb-info-tile-date-format\",[[1,\"limebb-info-tile-date-format\",{\"value\":[16]}]]],[\"limebb-info-tile-decimal-format\",[[1,\"limebb-info-tile-decimal-format\",{\"value\":[16]}]]],[\"limebb-info-tile-format\",[[1,\"limebb-info-tile-format\",{\"platform\":[16],\"context\":[16],\"type\":[1],\"value\":[16]}]]],[\"limebb-info-tile-relative-date-format\",[[1,\"limebb-info-tile-relative-date-format\",{\"value\":[16]}]]],[\"limebb-info-tile-unit-format\",[[1,\"limebb-info-tile-unit-format\",{\"value\":[16]}]]],[\"limebb-loader\",[[1,\"limebb-loader\",{\"platform\":[16],\"context\":[16]}]]],[\"limebb-locale-picker\",[[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\",[[1,\"limebb-mention\",{\"limetype\":[1],\"objectid\":[2],\"limeobject\":[32]}]]],[\"limebb-mention-group-counter\",[[1,\"limebb-mention-group-counter\",{\"count\":[2],\"limetype\":[16],\"helperLabel\":[1,\"helper-label\"]}]]],[\"limebb-trend-indicator\",[[1,\"limebb-trend-indicator\",{\"platform\":[16],\"context\":[16],\"value\":[520],\"formerValue\":[514,\"former-value\"],\"suffix\":[513],\"label\":[513],\"invalid\":[516],\"required\":[516],\"helperText\":[513,\"helper-text\"],\"reducePresence\":[516,\"reduce-presence\"]},null,{\"value\":[\"valueChanged\"]}]]],[\"limebb-feed-timeline-item\",[[1,\"limebb-feed-timeline-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"ui\":[513],\"helperText\":[1,\"helper-text\"],\"hasError\":[516,\"has-error\"],\"isBundled\":[516,\"is-bundled\"],\"headingCanExpand\":[32],\"isHeadingExpanded\":[32],\"showMore\":[32],\"isTall\":[32]}]]],[\"limebb-kanban-group\",[[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-text-editor-picker\",[[1,\"limebb-text-editor-picker\",{\"items\":[16],\"open\":[516],\"isSearching\":[4,\"is-searching\"],\"emptyMessage\":[1,\"empty-message\"]},null,{\"open\":[\"watchOpen\"]}]]],[\"limebb-currency-picker\",[[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\",[[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-document-item\",[[17,\"limebb-document-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"type\":[513],\"fileTypes\":[16]}]]],[\"limebb-live-docs-info\",[[1,\"limebb-live-docs-info\"]]],[\"limebb-notification-item\",[[1,\"limebb-notification-item\",{\"platform\":[16],\"context\":[16],\"item\":[16]}]]],[\"limebb-percentage-visualizer\",[[1,\"limebb-percentage-visualizer\",{\"platform\":[16],\"context\":[16],\"value\":[520],\"rangeMax\":[514,\"range-max\"],\"rangeMin\":[514,\"range-min\"],\"multiplier\":[514],\"label\":[513],\"invalid\":[516],\"required\":[516],\"helperText\":[513,\"helper-text\"],\"reducePresence\":[516,\"reduce-presence\"],\"displayPercentageColors\":[516,\"display-percentage-colors\"]},null,{\"value\":[\"valueChanged\"]}]]],[\"limebb-kanban-item\",[[1,\"limebb-kanban-item\",{\"platform\":[16],\"context\":[16],\"item\":[16]}]]],[\"limebb-property-selector\",[[1,\"limebb-property-selector\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[1],\"label\":[1],\"required\":[4],\"helperText\":[1,\"helper-text\"],\"limetypes\":[32],\"isOpen\":[32],\"navigationPath\":[32]}]]],[\"limebb-lime-query-order-by-item\",[[1,\"limebb-lime-query-order-by-item\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"item\":[16]}]]],[\"limebb-chat-item_2\",[[1,\"limebb-chat-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"helperText\":[1,\"helper-text\"],\"hasError\":[516,\"has-error\"]}],[1,\"limebb-typing-indicator\"]]],[\"limebb-feed-item-thumbnail-file-info\",[[1,\"limebb-feed-item-thumbnail-file-info\",{\"description\":[1]}]]],[\"limebb-lime-query-filter-builder_3\",[[1,\"limebb-lime-query-filter-builder\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}],[1,\"limebb-lime-query-order-by-editor\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[16],\"label\":[1],\"items\":[32]},null,{\"value\":[\"handleValueChange\"]}],[0,\"limebb-limetype-field\",{\"platform\":[16],\"context\":[16],\"label\":[513],\"required\":[516],\"readonly\":[516],\"disabled\":[516],\"value\":[513],\"helperText\":[513,\"helper-text\"],\"invalid\":[4],\"limetypes\":[16],\"propertyFields\":[16],\"fieldName\":[1,\"field-name\"],\"formInfo\":[16]}]]],[\"limebb-empty-state\",[[1,\"limebb-empty-state\",{\"heading\":[513],\"value\":[513],\"icon\":[16]}]]],[\"limebb-lime-query-response-format-editor_2\",[[1,\"limebb-lime-query-response-format-editor\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[16],\"label\":[1],\"items\":[32]}],[1,\"limebb-lime-query-response-format-item\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"item\":[16],\"showAliasInput\":[32],\"showDescriptionInput\":[32]}]]],[\"limebb-navigation-button_2\",[[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-lime-query-filter-group_3\",[[1,\"limebb-lime-query-value-input\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"propertyPath\":[1,\"property-path\"],\"operator\":[1],\"value\":[8],\"label\":[1],\"limetypes\":[32],\"inputMode\":[32]}],[1,\"limebb-lime-query-filter-group\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16],\"value\":[32]}],[1,\"limebb-lime-query-filter-not\",{\"platform\":[16],\"context\":[16],\"label\":[1],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}]]],[\"limebb-lime-query-filter-comparison_2\",[[1,\"limebb-lime-query-filter-expression\",{\"platform\":[16],\"context\":[16],\"label\":[1],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}],[1,\"limebb-lime-query-filter-comparison\",{\"platform\":[16],\"context\":[16],\"label\":[513],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}]]]]"), options);
19
+ return bootstrapLazy(JSON.parse("[[\"limebb-lime-query-builder\",[[1,\"limebb-lime-query-builder\",{\"platform\":[16],\"context\":[16],\"value\":[16],\"label\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"limetypes\":[32],\"mode\":[32],\"codeValue\":[32],\"limetype\":[32],\"filter\":[32],\"internalResponseFormat\":[32],\"limit\":[32],\"orderBy\":[32],\"description\":[32]}]]],[\"limebb-feed\",[[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\":[513],\"lastVisitedTimestamp\":[1,\"last-visited-timestamp\"],\"highlightedItemId\":[8,\"highlighted-item-id\"]},null,{\"highlightedItemId\":[\"highlightedItemIdChanged\"]}]]],[\"limebb-kanban\",[[1,\"limebb-kanban\",{\"platform\":[16],\"context\":[16],\"groups\":[16]}]]],[\"limebb-lime-query-response-format-builder\",[[1,\"limebb-lime-query-response-format-builder\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[16],\"label\":[1],\"helperText\":[1,\"helper-text\"],\"limetypes\":[32],\"mode\":[32],\"codeValue\":[32],\"internalValue\":[32]}]]],[\"limebb-chat-list\",[[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-limeobject-file-viewer\",[[1,\"limebb-limeobject-file-viewer\",{\"platform\":[16],\"context\":[16],\"property\":[1],\"fileTypes\":[16],\"limeobject\":[32],\"limetype\":[32]}]]],[\"limebb-text-editor\",[[17,\"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],\"allowInlineImages\":[4,\"allow-inline-images\"],\"items\":[32],\"highlightedItemIndex\":[32],\"editorPickerQuery\":[32],\"searchableLimetypes\":[32],\"isPickerOpen\":[32],\"isSearching\":[32]},null,{\"isPickerOpen\":[\"watchOpen\"],\"editorPickerQuery\":[\"watchQuery\"]}]]],[\"limebb-data-cells\",[[1,\"limebb-data-cells\",{\"platform\":[16],\"context\":[16],\"limeobject\":[8],\"items\":[16]}]]],[\"limebb-date-range\",[[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-document-picker\",[[1,\"limebb-document-picker\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"invalid\":[516],\"required\":[516],\"type\":[513]}]]],[\"limebb-info-tile-currency-format\",[[1,\"limebb-info-tile-currency-format\",{\"platform\":[16],\"context\":[16],\"value\":[16]}]]],[\"limebb-notification-list\",[[1,\"limebb-notification-list\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"loading\":[4],\"lastVisitedTimestamp\":[1,\"last-visited-timestamp\"]},null,{\"items\":[\"handleItemsChange\"]}]]],[\"limebb-browser\",[[17,\"limebb-browser\",{\"platform\":[16],\"context\":[16],\"items\":[16],\"layout\":[1],\"filter\":[32]}]]],[\"limebb-component-config\",[[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\",[[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\",[[1,\"limebb-dashboard-widget\",{\"heading\":[513],\"subheading\":[513],\"supportingText\":[513,\"supporting-text\"],\"icon\":[513]}]]],[\"limebb-icon-picker\",[[1,\"limebb-icon-picker\",{\"value\":[1],\"required\":[4],\"readonly\":[4],\"invalid\":[4],\"disabled\":[4],\"label\":[1],\"helperText\":[1,\"helper-text\"]}]]],[\"limebb-info-tile\",[[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],\"limetypes\":[32]},null,{\"filterId\":[\"watchFilterId\"],\"propertyName\":[\"watchPropertyName\"],\"aggregateOperator\":[\"watchAggregateOperator\"]}]]],[\"limebb-info-tile-date-format\",[[1,\"limebb-info-tile-date-format\",{\"value\":[16]}]]],[\"limebb-info-tile-decimal-format\",[[1,\"limebb-info-tile-decimal-format\",{\"value\":[16]}]]],[\"limebb-info-tile-format\",[[1,\"limebb-info-tile-format\",{\"platform\":[16],\"context\":[16],\"type\":[1],\"value\":[16]}]]],[\"limebb-info-tile-relative-date-format\",[[1,\"limebb-info-tile-relative-date-format\",{\"value\":[16]}]]],[\"limebb-info-tile-unit-format\",[[1,\"limebb-info-tile-unit-format\",{\"value\":[16]}]]],[\"limebb-loader\",[[1,\"limebb-loader\",{\"platform\":[16],\"context\":[16]}]]],[\"limebb-locale-picker\",[[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\",[[1,\"limebb-mention\",{\"limetype\":[1],\"objectid\":[2],\"limeobject\":[32]}]]],[\"limebb-mention-group-counter\",[[1,\"limebb-mention-group-counter\",{\"count\":[2],\"limetype\":[16],\"helperLabel\":[1,\"helper-label\"]}]]],[\"limebb-object-chip\",[[1,\"limebb-object-chip\",{\"limetype\":[1],\"objectid\":[2],\"platform\":[16],\"data\":[32]},null,{\"limetype\":[\"handlePropChange\"],\"objectid\":[\"handlePropChange\"]}]]],[\"limebb-trend-indicator\",[[1,\"limebb-trend-indicator\",{\"platform\":[16],\"context\":[16],\"value\":[520],\"formerValue\":[514,\"former-value\"],\"suffix\":[513],\"label\":[513],\"invalid\":[516],\"required\":[516],\"helperText\":[513,\"helper-text\"],\"reducePresence\":[516,\"reduce-presence\"]},null,{\"value\":[\"valueChanged\"]}]]],[\"limebb-feed-timeline-item\",[[1,\"limebb-feed-timeline-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"ui\":[513],\"helperText\":[1,\"helper-text\"],\"hasError\":[516,\"has-error\"],\"isBundled\":[516,\"is-bundled\"],\"headingCanExpand\":[32],\"isHeadingExpanded\":[32],\"showMore\":[32],\"isTall\":[32]}]]],[\"limebb-kanban-group\",[[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-text-editor-picker\",[[1,\"limebb-text-editor-picker\",{\"items\":[16],\"open\":[516],\"isSearching\":[4,\"is-searching\"],\"emptyMessage\":[1,\"empty-message\"]},null,{\"open\":[\"watchOpen\"]}]]],[\"limebb-currency-picker\",[[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\",[[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-document-item\",[[17,\"limebb-document-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"type\":[513],\"fileTypes\":[16]}]]],[\"limebb-live-docs-info\",[[1,\"limebb-live-docs-info\"]]],[\"limebb-notification-item\",[[1,\"limebb-notification-item\",{\"platform\":[16],\"context\":[16],\"item\":[16]}]]],[\"limebb-percentage-visualizer\",[[1,\"limebb-percentage-visualizer\",{\"platform\":[16],\"context\":[16],\"value\":[520],\"rangeMax\":[514,\"range-max\"],\"rangeMin\":[514,\"range-min\"],\"multiplier\":[514],\"label\":[513],\"invalid\":[516],\"required\":[516],\"helperText\":[513,\"helper-text\"],\"reducePresence\":[516,\"reduce-presence\"],\"displayPercentageColors\":[516,\"display-percentage-colors\"]},null,{\"value\":[\"valueChanged\"]}]]],[\"limebb-kanban-item\",[[1,\"limebb-kanban-item\",{\"platform\":[16],\"context\":[16],\"item\":[16]}]]],[\"limebb-property-selector\",[[1,\"limebb-property-selector\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[1],\"label\":[1],\"required\":[4],\"helperText\":[1,\"helper-text\"],\"limetypes\":[32],\"isOpen\":[32],\"navigationPath\":[32]}]]],[\"limebb-lime-query-order-by-item\",[[1,\"limebb-lime-query-order-by-item\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"item\":[16]}]]],[\"limebb-chat-item_2\",[[1,\"limebb-chat-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"helperText\":[1,\"helper-text\"],\"hasError\":[516,\"has-error\"]}],[1,\"limebb-typing-indicator\"]]],[\"limebb-feed-item-thumbnail-file-info\",[[1,\"limebb-feed-item-thumbnail-file-info\",{\"description\":[1]}]]],[\"limebb-lime-query-filter-builder_3\",[[1,\"limebb-lime-query-filter-builder\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}],[1,\"limebb-lime-query-order-by-editor\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[16],\"label\":[1],\"items\":[32]},null,{\"value\":[\"handleValueChange\"]}],[0,\"limebb-limetype-field\",{\"platform\":[16],\"context\":[16],\"label\":[513],\"required\":[516],\"readonly\":[516],\"disabled\":[516],\"value\":[513],\"helperText\":[513,\"helper-text\"],\"invalid\":[4],\"limetypes\":[16],\"propertyFields\":[16],\"fieldName\":[1,\"field-name\"],\"formInfo\":[16]}]]],[\"limebb-empty-state\",[[1,\"limebb-empty-state\",{\"heading\":[513],\"value\":[513],\"icon\":[16]}]]],[\"limebb-lime-query-response-format-editor_2\",[[1,\"limebb-lime-query-response-format-editor\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"value\":[16],\"label\":[1],\"items\":[32]}],[1,\"limebb-lime-query-response-format-item\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"item\":[16],\"showAliasInput\":[32],\"showDescriptionInput\":[32]}]]],[\"limebb-lime-query-filter-group_3\",[[1,\"limebb-lime-query-value-input\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"propertyPath\":[1,\"property-path\"],\"operator\":[1],\"value\":[8],\"label\":[1],\"limetypes\":[32],\"inputMode\":[32]}],[1,\"limebb-lime-query-filter-group\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16],\"value\":[32]}],[1,\"limebb-lime-query-filter-not\",{\"platform\":[16],\"context\":[16],\"label\":[1],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}]]],[\"limebb-lime-query-filter-comparison_2\",[[1,\"limebb-lime-query-filter-expression\",{\"platform\":[16],\"context\":[16],\"label\":[1],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}],[1,\"limebb-lime-query-filter-comparison\",{\"platform\":[16],\"context\":[16],\"label\":[513],\"limetype\":[1],\"activeLimetype\":[1,\"active-limetype\"],\"expression\":[16]}]]],[\"limebb-navigation-button_2\",[[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]}]]]]"), options);
20
20
  });
@@ -1,4 +1,4 @@
1
- import { r as re } from './index.esm-863d7783.js';
1
+ import { r as re } from './index.esm-11a8b9e2.js';
2
2
  import { g as getPropertyFromPath, a as getNormalizedProperties, v as validatePropertyPath } from './property-resolution-e4e8dcf7.js';
3
3
 
4
4
  /**
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-d86e55c0.js';
2
- import { c } from './index.esm-863d7783.js';
2
+ import { c } from './index.esm-11a8b9e2.js';
3
3
  import { E as ENTER } from './keycodes-58a1fcc9.js';
4
4
  import { n as negate } from './negate-55744008.js';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, H as Host } from './index-d86e55c0.js';
2
- import { c } from './index.esm-863d7783.js';
2
+ import { c } from './index.esm-11a8b9e2.js';
3
3
 
4
4
  const chatItemCss = "@charset \"UTF-8\";*{box-sizing:border-box}:host(limebb-chat-item){display:flex;flex-direction:column;gap:0.25rem;min-width:0;min-height:0;max-width:calc(100% - 2rem)}.bubble-content{display:flex;gap:0.25rem;min-width:0;min-height:0}:host(limebb-chat-item:hover) .helper-text,:host(limebb-chat-item:hover) .timestamp,:host(limebb-chat-item:focus-within) .helper-text,:host(limebb-chat-item:focus-within) .timestamp{opacity:1}:host(limebb-chat-item.mine){margin-left:auto}:host(limebb-chat-item.mine) .item{border-bottom-right-radius:0.125rem;background-color:rgb(var(--color-sky-default), 0.2)}:host(limebb-chat-item.mine) .bubble-content{justify-content:end}:host(limebb-chat-item.mine) .icon-picture{order:2}:host(limebb-chat-item.theirs){margin-right:auto}:host(limebb-chat-item.theirs) .item{border-bottom-left-radius:0.125rem;background-color:rgb(var(--contrast-300), 0.7)}.item{display:flex;flex-direction:column;border-radius:1.25rem;padding:0 0.25rem 0.25rem 0.25rem;backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem)}.icon-picture{display:flex;flex-direction:column;gap:0.5rem;align-items:center;justify-content:flex-end}.icon-picture:has(.author-avatar) limel-icon{width:1.25rem;padding:0.125rem}.icon{--icon-background-color:rgb(var(--contrast-500), 0.5);flex-shrink:0;padding:0.375rem;width:2.25rem;backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem)}limel-ai-avatar.author-avatar{background-color:rgb(var(--color-glaucous-darker))}header{display:flex;justify-content:space-between;align-items:center;min-height:2rem;padding-left:0.5rem}header:not(:has(.unpromoted-actions-menu)){padding-right:0.5rem}.body-text{padding:0.25rem 0.5rem}footer{display:flex;justify-content:space-between;align-items:end;gap:0.5rem;font-size:x-small}footer:not(:empty){padding:0 0.25rem 0.125rem 0.5rem}footer *{transition:opacity 0.2s ease;opacity:0.4}.timestamp{margin-left:auto}.author-avatar{border-radius:50%;width:2rem;height:2rem;object-fit:cover;box-shadow:0 0 0 1px rgb(var(--contrast-600))}.author{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:500;text-decoration:none}a.author{position:relative;cursor:pointer;transition:color 0.2s ease;color:var(--mdc-theme-primary)}a.author:before{transition:opacity 0.2s ease, transform 0.3s ease-out;content:\"\";position:absolute;inset:auto 0 0 0;width:calc(100% - 0.5rem);margin:auto;height:0.125rem;border-radius:1rem;background-color:currentColor;opacity:0;transform:scale(0.6)}a.author:hover{color:rgb(var(--color-teal-light))}a.author:hover:before{opacity:0.3;transform:scale(1)}limel-action-bar{--action-bar-item-height:1.75rem;transition:opacity 0.2s ease;justify-content:flex-start;opacity:0.8}.action-bar{display:grid;transition:grid-template-rows var(--limebb-promoted-action-bar-grid-template-rows-transition-speed, 0.2s) cubic-bezier(1, 0.09, 0, 0.89) var(--limebb-promoted-action-bar-grid-template-rows-transition-delay, 0s);grid-template-rows:var(--limebb-promoted-action-bar-grid-template-rows, 1fr)}.action-bar-hider{overflow:hidden}limel-action-bar{transition:padding var(--limebb-promoted-action-bar-grid-template-rows-transition-speed) cubic-bezier(1, 0.09, 0, 0.89) var(--limebb-promoted-action-bar-grid-template-rows-transition-delay);padding-top:0;padding-bottom:0.75rem}:host(limebb-chat-item:hover) .action-bar,:host(limebb-chat-item:focus-within) .action-bar,:host(limebb-chat-item:focus-visible) .action-bar{--limebb-promoted-action-bar-grid-template-rows:1fr;will-change:grid-template-rows}:host(limebb-chat-item:hover) limel-action-bar,:host(limebb-chat-item:focus-within) limel-action-bar,:host(limebb-chat-item:focus-visible) limel-action-bar{will-change:opacity;opacity:1}:host(limebb-chat-item:hover),:host(limebb-chat-item:focus-within){--limebb-promoted-action-bar-grid-template-rows-transition-speed:0.46s;--limebb-promoted-action-bar-grid-template-rows-transition-delay:0.7s}.action-bar{min-width:0;width:calc(100% - calc(2rem + 0.25rem))}:host(limebb-chat-item.theirs) .action-bar{margin-left:calc(2rem + 0.25rem)}:host(limebb-chat-item[has-error]:not([has-error=false])) .bubble-content{cursor:help}:host(limebb-chat-item[has-error]:not([has-error=false])) .item{border:1px solid rgb(var(--color-red-default))}:host(limebb-chat-item[has-error]:not([has-error=false])) .error-sign{color:rgb(var(--color-red-default));flex-shrink:0;width:1.25rem;align-self:center}:host(limebb-chat-item.mine[has-error]:not([has-error=false])) .action-bar{padding-left:1.25rem}:host(limebb-chat-item.mine[has-error]:not([has-error=false])) .helper-text{opacity:1;color:rgb(var(--color-red-default))}";
5
5
  const LimebbChatItemStyle0 = chatItemCss;
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, H as Host } from './index-d86e55c0.js';
2
- import { c } from './index.esm-863d7783.js';
2
+ import { c } from './index.esm-11a8b9e2.js';
3
3
 
4
4
  /**
5
5
  * Processes a list of notifications by adding date headers and a "new items" indicator.
@@ -1,5 +1,5 @@
1
1
  import { h, r as registerInstance, c as createEvent } from './index-d86e55c0.js';
2
- import { c } from './index.esm-863d7783.js';
2
+ import { c } from './index.esm-11a8b9e2.js';
3
3
  import { g as get } from './get-3e42932b.js';
4
4
  import './_Map-aede53b6.js';
5
5
  import './isSymbol-1c5f65cc.js';