@limetech/lime-crm-building-blocks 1.110.4 → 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 (114) hide show
  1. package/CHANGELOG.md +7 -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 +2 -2
  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/util/object-resolver.js +151 -0
  39. package/dist/components/dom.js +26 -0
  40. package/dist/components/index.esm.js +1 -1
  41. package/dist/components/limebb-mention.js +1 -25
  42. package/dist/components/limebb-object-chip.d.ts +11 -0
  43. package/dist/components/limebb-object-chip.js +238 -0
  44. package/dist/esm/dom-9cc051d7.js +26 -0
  45. package/dist/esm/{index.esm-863d7783.js → index.esm-11a8b9e2.js} +1 -1
  46. package/dist/esm/lime-crm-building-blocks.js +1 -1
  47. package/dist/esm/{lime-query-validation-84253575.js → lime-query-validation-01797a51.js} +1 -1
  48. package/dist/esm/limebb-browser.entry.js +1 -1
  49. package/dist/esm/limebb-chat-item_2.entry.js +1 -1
  50. package/dist/esm/limebb-chat-list.entry.js +1 -1
  51. package/dist/esm/limebb-component-config.entry.js +1 -1
  52. package/dist/esm/limebb-component-picker.entry.js +1 -1
  53. package/dist/esm/limebb-currency-picker.entry.js +1 -1
  54. package/dist/esm/limebb-data-cells.entry.js +1 -1
  55. package/dist/esm/limebb-date-picker.entry.js +1 -1
  56. package/dist/esm/limebb-feed-timeline-item.entry.js +1 -1
  57. package/dist/esm/limebb-feed.entry.js +1 -1
  58. package/dist/esm/limebb-info-tile.entry.js +1 -1
  59. package/dist/esm/limebb-kanban-group.entry.js +1 -1
  60. package/dist/esm/limebb-kanban-item.entry.js +1 -1
  61. package/dist/esm/limebb-lime-query-builder.entry.js +2 -2
  62. package/dist/esm/limebb-lime-query-filter-builder_3.entry.js +2 -2
  63. package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +1 -1
  64. package/dist/esm/limebb-lime-query-filter-group_3.entry.js +1 -1
  65. package/dist/esm/limebb-lime-query-response-format-builder.entry.js +2 -2
  66. package/dist/esm/limebb-limeobject-file-viewer.entry.js +1 -1
  67. package/dist/esm/limebb-loader.entry.js +1 -1
  68. package/dist/esm/limebb-locale-picker.entry.js +1 -1
  69. package/dist/esm/limebb-mention.entry.js +2 -26
  70. package/dist/esm/limebb-notification-item.entry.js +1 -1
  71. package/dist/esm/limebb-notification-list.entry.js +1 -1
  72. package/dist/esm/limebb-object-chip.entry.js +212 -0
  73. package/dist/esm/limebb-property-selector.entry.js +2 -2
  74. package/dist/esm/limebb-text-editor.entry.js +2 -2
  75. package/dist/esm/{limetype-09477163.js → limetype-12fbba0f.js} +2 -2
  76. package/dist/esm/loader.js +1 -1
  77. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  78. package/dist/lime-crm-building-blocks/{p-bd92871a.entry.js → p-01375d63.entry.js} +1 -1
  79. package/dist/lime-crm-building-blocks/{p-6aeb7b9b.js → p-0a266c26.js} +1 -1
  80. package/dist/lime-crm-building-blocks/{p-3b1fcd5b.js → p-199799ff.js} +1 -1
  81. package/dist/lime-crm-building-blocks/{p-da511a18.entry.js → p-199f0a47.entry.js} +1 -1
  82. package/dist/lime-crm-building-blocks/{p-27e84266.entry.js → p-1b2ed672.entry.js} +1 -1
  83. package/dist/lime-crm-building-blocks/{p-14685f34.entry.js → p-3d4c4df2.entry.js} +1 -1
  84. package/dist/lime-crm-building-blocks/p-4a85590d.js +1 -0
  85. package/dist/lime-crm-building-blocks/{p-0da02112.entry.js → p-4b494de7.entry.js} +1 -1
  86. package/dist/lime-crm-building-blocks/{p-37982f06.entry.js → p-517fd960.entry.js} +1 -1
  87. package/dist/lime-crm-building-blocks/{p-fc92dab6.entry.js → p-59b4af72.entry.js} +1 -1
  88. package/dist/lime-crm-building-blocks/{p-f35e4543.entry.js → p-5f5cd2b2.entry.js} +1 -1
  89. package/dist/lime-crm-building-blocks/{p-f1eee3bb.entry.js → p-6bd3f952.entry.js} +1 -1
  90. package/dist/lime-crm-building-blocks/{p-c9460ae0.entry.js → p-77e7d7da.entry.js} +1 -1
  91. package/dist/lime-crm-building-blocks/p-77ef7ad1.entry.js +1 -0
  92. package/dist/lime-crm-building-blocks/{p-c3c0c738.entry.js → p-81583fc8.entry.js} +1 -1
  93. package/dist/lime-crm-building-blocks/{p-85cae2a1.entry.js → p-85c04627.entry.js} +1 -1
  94. package/dist/lime-crm-building-blocks/{p-3f0e4017.entry.js → p-87e5d049.entry.js} +1 -1
  95. package/dist/lime-crm-building-blocks/{p-4fa58e0e.entry.js → p-95b6eaf5.entry.js} +1 -1
  96. package/dist/lime-crm-building-blocks/{p-77b97c9f.entry.js → p-a954d06e.entry.js} +1 -1
  97. package/dist/lime-crm-building-blocks/{p-7c04361c.entry.js → p-ac833ff7.entry.js} +1 -1
  98. package/dist/lime-crm-building-blocks/{p-d4273468.entry.js → p-acf77715.entry.js} +1 -1
  99. package/dist/lime-crm-building-blocks/{p-cbbcec09.entry.js → p-af1e3cac.entry.js} +1 -1
  100. package/dist/lime-crm-building-blocks/p-b7959ddb.entry.js +1 -0
  101. package/dist/lime-crm-building-blocks/{p-f97ea913.entry.js → p-c38f0931.entry.js} +1 -1
  102. package/dist/lime-crm-building-blocks/{p-0ed58846.entry.js → p-d2bd2fc3.entry.js} +1 -1
  103. package/dist/lime-crm-building-blocks/{p-9f2a9cf5.js → p-d47b6c3c.js} +1 -1
  104. package/dist/lime-crm-building-blocks/{p-4584e9c8.entry.js → p-e8069516.entry.js} +1 -1
  105. package/dist/lime-crm-building-blocks/p-eb4aa158.entry.js +1 -0
  106. package/dist/lime-crm-building-blocks/{p-9624acfd.entry.js → p-ef08b09f.entry.js} +1 -1
  107. package/dist/lime-crm-building-blocks/{p-dd6861b1.entry.js → p-f965d2a6.entry.js} +1 -1
  108. package/dist/lime-crm-building-blocks/{p-aec5cbca.entry.js → p-f9daa703.entry.js} +1 -1
  109. package/dist/types/components/object-chip/object-chip.d.ts +47 -0
  110. package/dist/types/components.d.ts +89 -0
  111. package/dist/types/util/object-resolver.d.ts +66 -0
  112. package/package.json +1 -1
  113. package/dist/lime-crm-building-blocks/p-351de229.entry.js +0 -1
  114. package/dist/lime-crm-building-blocks/p-d51d607b.entry.js +0 -1
@@ -0,0 +1,216 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-519b904a.js');
6
+ const limetype = require('./limetype-3c1c53b6.js');
7
+ const dom = require('./dom-2ea30350.js');
8
+ const index_esm = require('./index.esm-e01e9bd4.js');
9
+
10
+ const logger = index_esm.De('object-resolver');
11
+ /**
12
+ * Build the navigation URL for a Lime CRM object.
13
+ * @param limetype
14
+ * @param objectid
15
+ */
16
+ function getObjectUrl(limetype, objectid) {
17
+ return `object/${limetype}/${objectid}`;
18
+ }
19
+ /**
20
+ * Resolves platform, limetype metadata, and object data for a given
21
+ * limetype + objectid pair.
22
+ *
23
+ * Designed to be used by Stencil components: pass an `onStateChange`
24
+ * callback that updates a `@State()` property to trigger re-renders.
25
+ */
26
+ class ObjectResolver {
27
+ constructor(onStateChange) {
28
+ this.onStateChange = onStateChange;
29
+ this.state = { loadFailed: false };
30
+ this.hasPendingLoad = false;
31
+ this.isDisconnected = false;
32
+ }
33
+ /**
34
+ * The resolved platform instance, if any.
35
+ */
36
+ get resolvedPlatform() {
37
+ return this._platform;
38
+ }
39
+ /**
40
+ * Initialize the resolver. Call from `connectedCallback()`.
41
+ *
42
+ * @param limetype - name of the limetype
43
+ * @param objectid - id of the object
44
+ * @param hostElement - the component's host element (for DOM-walking fallback)
45
+ * @param platform - optional platform prop (skips DOM walk if provided)
46
+ */
47
+ connect(limetype, objectid, hostElement, platform) {
48
+ this.limetype = limetype;
49
+ this.objectid = objectid;
50
+ this.isDisconnected = false;
51
+ this.hasPendingLoad = false;
52
+ this._platform = platform || this.findPlatform(hostElement);
53
+ if (!this._platform) {
54
+ logger.error(`No platform found. Pass "platform" prop or place the component inside a parent that exposes "platform". limetype=${limetype}, objectid=${objectid}`);
55
+ return;
56
+ }
57
+ this.resolveLimeType();
58
+ this.loadLimeObject();
59
+ }
60
+ /**
61
+ * Handle prop changes. Call from `@Watch` handlers.
62
+ *
63
+ * Debounces via `queueMicrotask` so that simultaneous changes to
64
+ * both `limetype` and `objectid` result in a single load.
65
+ * @param limetype
66
+ * @param objectid
67
+ */
68
+ update(limetype, objectid) {
69
+ this.limetype = limetype;
70
+ this.objectid = objectid;
71
+ this.updateState({
72
+ limeobject: undefined,
73
+ limetypeData: undefined,
74
+ loadFailed: false,
75
+ });
76
+ if (this.hasPendingLoad) {
77
+ return;
78
+ }
79
+ this.hasPendingLoad = true;
80
+ queueMicrotask(() => {
81
+ this.hasPendingLoad = false;
82
+ if (this.isDisconnected) {
83
+ return;
84
+ }
85
+ if (!this._platform) {
86
+ this.updateState({ loadFailed: true });
87
+ logger.warn(`Cannot update: no platform available. limetype=${this.limetype}, objectid=${this.objectid}`);
88
+ return;
89
+ }
90
+ this.resolveLimeType();
91
+ this.loadLimeObject();
92
+ });
93
+ }
94
+ /**
95
+ * Prevent stale updates after the component disconnects.
96
+ * Call from `disconnectedCallback()`.
97
+ */
98
+ disconnect() {
99
+ this.isDisconnected = true;
100
+ }
101
+ findPlatform(hostElement) {
102
+ const element = dom.findParentElement(hostElement, this.hasPlatformProp);
103
+ return element === null || element === void 0 ? void 0 : element.platform;
104
+ }
105
+ hasPlatformProp(element) {
106
+ if (!('platform' in element)) {
107
+ return false;
108
+ }
109
+ if (!element.platform) {
110
+ return false;
111
+ }
112
+ return typeof element.platform === 'object';
113
+ }
114
+ resolveLimeType() {
115
+ const repository = this._platform.get(index_esm.c.LimeTypeRepository);
116
+ this.updateState({
117
+ limetypeData: repository.getLimeType(this.limetype),
118
+ });
119
+ }
120
+ async loadLimeObject() {
121
+ const limetype = this.limetype;
122
+ const objectid = this.objectid;
123
+ const repository = this._platform.get(index_esm.c.LimeObjectRepository);
124
+ const cached = repository.getObject(limetype, objectid);
125
+ if (cached) {
126
+ this.updateState({ limeobject: cached });
127
+ return;
128
+ }
129
+ try {
130
+ await repository.loadObject(limetype, objectid);
131
+ }
132
+ catch (error) {
133
+ if (this.isStale(limetype, objectid)) {
134
+ return;
135
+ }
136
+ this.updateState({ loadFailed: true });
137
+ logger.error(`Failed to load ${limetype}/${objectid}`, error);
138
+ return;
139
+ }
140
+ if (this.isStale(limetype, objectid)) {
141
+ return;
142
+ }
143
+ this.updateState({
144
+ limeobject: repository.getObject(limetype, objectid),
145
+ });
146
+ }
147
+ isStale(limetype, objectid) {
148
+ return (this.isDisconnected ||
149
+ this.limetype !== limetype ||
150
+ this.objectid !== objectid);
151
+ }
152
+ updateState(partial) {
153
+ this.state = Object.assign(Object.assign({}, this.state), partial);
154
+ if (!this.isDisconnected) {
155
+ this.onStateChange(this.state);
156
+ }
157
+ }
158
+ }
159
+
160
+ const objectChipCss = ":host{display:inline-block}";
161
+ const LimebbObjectChipStyle0 = objectChipCss;
162
+
163
+ const ObjectChip = class {
164
+ constructor(hostRef) {
165
+ index.registerInstance(this, hostRef);
166
+ this.data = { loadFailed: false };
167
+ this.resolver = new ObjectResolver((data) => {
168
+ this.data = data;
169
+ });
170
+ }
171
+ connectedCallback() {
172
+ this.resolver.connect(this.limetype, this.objectid, index.getElement(this), this.platform);
173
+ }
174
+ disconnectedCallback() {
175
+ this.resolver.disconnect();
176
+ }
177
+ handlePropChange() {
178
+ this.resolver.update(this.limetype, this.objectid);
179
+ }
180
+ render() {
181
+ if (!this.resolver.resolvedPlatform) {
182
+ return;
183
+ }
184
+ const icon = limetype.getIcon(this.data.limetypeData);
185
+ return (index.h("limel-chip", { text: this.getChipText(), icon: icon, link: { href: getObjectUrl(this.limetype, this.objectid) }, loading: !this.data.limeobject && !this.data.loadFailed }));
186
+ }
187
+ getChipText() {
188
+ var _a;
189
+ if ((_a = this.data.limeobject) === null || _a === void 0 ? void 0 : _a.descriptive) {
190
+ return this.data.limeobject.descriptive;
191
+ }
192
+ if (this.data.loadFailed) {
193
+ return this.getErrorText();
194
+ }
195
+ return '';
196
+ }
197
+ getErrorText() {
198
+ if (!this.resolver.resolvedPlatform) {
199
+ return 'loading failed';
200
+ }
201
+ try {
202
+ const translator = this.resolver.resolvedPlatform.get(index_esm.c.Translate);
203
+ return translator.get('webclient.limeobject.errors.load-failed');
204
+ }
205
+ catch (_a) {
206
+ return 'loading failed';
207
+ }
208
+ }
209
+ static get watchers() { return {
210
+ "limetype": ["handlePropChange"],
211
+ "objectid": ["handlePropChange"]
212
+ }; }
213
+ };
214
+ ObjectChip.style = LimebbObjectChipStyle0;
215
+
216
+ exports.limebb_object_chip = ObjectChip;
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-519b904a.js');
6
- const index_esm = require('./index.esm-b68bd570.js');
6
+ const index_esm = require('./index.esm-e01e9bd4.js');
7
7
  const propertyResolution = require('./property-resolution-5f798b03.js');
8
- const limetype = require('./limetype-b91060e7.js');
8
+ const limetype = require('./limetype-3c1c53b6.js');
9
9
 
10
10
  const propertySelectorCss = ":host(limebb-property-selector){display:block}limel-menu{display:block;width:100%}";
11
11
  const LimebbPropertySelectorStyle0 = propertySelectorCss;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-519b904a.js');
6
- const index_esm = require('./index.esm-b68bd570.js');
6
+ const index_esm = require('./index.esm-e01e9bd4.js');
7
7
  const keycodes = require('./keycodes-88522d7f.js');
8
8
  const _Uint8Array = require('./_Uint8Array-95263550.js');
9
9
  const _defineProperty = require('./_defineProperty-40a6ad5d.js');
@@ -11,7 +11,7 @@ const _MapCache = require('./_MapCache-8b125fbb.js');
11
11
  const _Map = require('./_Map-60aae0ed.js');
12
12
  const _getTag = require('./_getTag-8809c5c6.js');
13
13
  const randomString = require('./random-string-aac0a74b.js');
14
- const limetype = require('./limetype-b91060e7.js');
14
+ const limetype = require('./limetype-3c1c53b6.js');
15
15
  const nonNull = require('./non-null-3bf14aa1.js');
16
16
  const isSymbol = require('./isSymbol-5b36aeee.js');
17
17
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const index_esm = require('./index.esm-b68bd570.js');
3
+ const index_esm = require('./index.esm-e01e9bd4.js');
4
4
 
5
5
  /**
6
6
  * Get the color for a limetype from its UI configuration
@@ -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(JSON.parse("[[\"limebb-lime-query-builder.cjs\",[[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.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\":[513],\"lastVisitedTimestamp\":[1,\"last-visited-timestamp\"],\"highlightedItemId\":[8,\"highlighted-item-id\"]},null,{\"highlightedItemId\":[\"highlightedItemIdChanged\"]}]]],[\"limebb-kanban.cjs\",[[1,\"limebb-kanban\",{\"platform\":[16],\"context\":[16],\"groups\":[16]}]]],[\"limebb-lime-query-response-format-builder.cjs\",[[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.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-limeobject-file-viewer.cjs\",[[1,\"limebb-limeobject-file-viewer\",{\"platform\":[16],\"context\":[16],\"property\":[1],\"fileTypes\":[16],\"limeobject\":[32],\"limetype\":[32]}]]],[\"limebb-text-editor.cjs\",[[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.cjs\",[[1,\"limebb-data-cells\",{\"platform\":[16],\"context\":[16],\"limeobject\":[8],\"items\":[16]}]]],[\"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-document-picker.cjs\",[[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.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],\"limetypes\":[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-loader.cjs\",[[1,\"limebb-loader\",{\"platform\":[16],\"context\":[16]}]]],[\"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],\"required\":[516],\"helperText\":[513,\"helper-text\"],\"reducePresence\":[516,\"reduce-presence\"]},null,{\"value\":[\"valueChanged\"]}]]],[\"limebb-feed-timeline-item.cjs\",[[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.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-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-document-item.cjs\",[[17,\"limebb-document-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"type\":[513],\"fileTypes\":[16]}]]],[\"limebb-live-docs-info.cjs\",[[1,\"limebb-live-docs-info\"]]],[\"limebb-notification-item.cjs\",[[1,\"limebb-notification-item\",{\"platform\":[16],\"context\":[16],\"item\":[16]}]]],[\"limebb-percentage-visualizer.cjs\",[[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.cjs\",[[1,\"limebb-kanban-item\",{\"platform\":[16],\"context\":[16],\"item\":[16]}]]],[\"limebb-property-selector.cjs\",[[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.cjs\",[[1,\"limebb-lime-query-order-by-item\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"item\":[16]}]]],[\"limebb-chat-item_2.cjs\",[[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.cjs\",[[1,\"limebb-feed-item-thumbnail-file-info\",{\"description\":[1]}]]],[\"limebb-lime-query-filter-builder_3.cjs\",[[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.cjs\",[[1,\"limebb-empty-state\",{\"heading\":[513],\"value\":[513],\"icon\":[16]}]]],[\"limebb-lime-query-response-format-editor_2.cjs\",[[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.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-lime-query-filter-group_3.cjs\",[[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.cjs\",[[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);
11
+ return index.bootstrapLazy(JSON.parse("[[\"limebb-lime-query-builder.cjs\",[[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.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\":[513],\"lastVisitedTimestamp\":[1,\"last-visited-timestamp\"],\"highlightedItemId\":[8,\"highlighted-item-id\"]},null,{\"highlightedItemId\":[\"highlightedItemIdChanged\"]}]]],[\"limebb-kanban.cjs\",[[1,\"limebb-kanban\",{\"platform\":[16],\"context\":[16],\"groups\":[16]}]]],[\"limebb-lime-query-response-format-builder.cjs\",[[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.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-limeobject-file-viewer.cjs\",[[1,\"limebb-limeobject-file-viewer\",{\"platform\":[16],\"context\":[16],\"property\":[1],\"fileTypes\":[16],\"limeobject\":[32],\"limetype\":[32]}]]],[\"limebb-text-editor.cjs\",[[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.cjs\",[[1,\"limebb-data-cells\",{\"platform\":[16],\"context\":[16],\"limeobject\":[8],\"items\":[16]}]]],[\"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-document-picker.cjs\",[[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.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],\"limetypes\":[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-loader.cjs\",[[1,\"limebb-loader\",{\"platform\":[16],\"context\":[16]}]]],[\"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-object-chip.cjs\",[[1,\"limebb-object-chip\",{\"limetype\":[1],\"objectid\":[2],\"platform\":[16],\"data\":[32]},null,{\"limetype\":[\"handlePropChange\"],\"objectid\":[\"handlePropChange\"]}]]],[\"limebb-trend-indicator.cjs\",[[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.cjs\",[[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.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-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-document-item.cjs\",[[17,\"limebb-document-item\",{\"platform\":[16],\"context\":[16],\"item\":[16],\"type\":[513],\"fileTypes\":[16]}]]],[\"limebb-live-docs-info.cjs\",[[1,\"limebb-live-docs-info\"]]],[\"limebb-notification-item.cjs\",[[1,\"limebb-notification-item\",{\"platform\":[16],\"context\":[16],\"item\":[16]}]]],[\"limebb-percentage-visualizer.cjs\",[[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.cjs\",[[1,\"limebb-kanban-item\",{\"platform\":[16],\"context\":[16],\"item\":[16]}]]],[\"limebb-property-selector.cjs\",[[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.cjs\",[[1,\"limebb-lime-query-order-by-item\",{\"platform\":[16],\"context\":[16],\"limetype\":[1],\"item\":[16]}]]],[\"limebb-chat-item_2.cjs\",[[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.cjs\",[[1,\"limebb-feed-item-thumbnail-file-info\",{\"description\":[1]}]]],[\"limebb-lime-query-filter-builder_3.cjs\",[[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.cjs\",[[1,\"limebb-empty-state\",{\"heading\":[513],\"value\":[513],\"icon\":[16]}]]],[\"limebb-lime-query-response-format-editor_2.cjs\",[[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.cjs\",[[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.cjs\",[[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.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]}]]]]"), options);
12
12
  };
13
13
 
14
14
  exports.setNonce = index.setNonce;
@@ -50,6 +50,7 @@
50
50
  "components/navigation-button/navigation-button.js",
51
51
  "components/notification-list/notification-list.js",
52
52
  "components/notification-list/notification-item/notification-item.js",
53
+ "components/object-chip/object-chip.js",
53
54
  "components/percentage-visualizer/percentage-visualizer.js",
54
55
  "components/summary-popover/summary-popover.js",
55
56
  "components/text-editor/mention-group-counter.js",
@@ -0,0 +1,3 @@
1
+ :host {
2
+ display: inline-block;
3
+ }
@@ -0,0 +1,157 @@
1
+ import { getIcon } from "../../util/limetype";
2
+ import { getObjectUrl, ObjectResolver, } from "../../util/object-resolver";
3
+ import { PlatformServiceName, } from "@limetech/lime-web-components";
4
+ import { getElement, h } from "@stencil/core";
5
+ /**
6
+ * Object chip
7
+ *
8
+ * Renders a `limel-chip` representing a Lime CRM object.
9
+ * The consumer provides `limetype` and `objectid`, and the component
10
+ * takes care of resolving the descriptive text, limetype icon and color,
11
+ * and generating a navigation URL.
12
+ *
13
+ * :::note
14
+ * If `platform` is not supplied as a prop, it will be fetched from the DOM.
15
+ * :::
16
+ *
17
+ * @exampleComponent limebb-example-object-chip
18
+ * @exampleComponent limebb-example-object-chip-icon-and-color-fallbacks
19
+ * @beta
20
+ */
21
+ export class ObjectChip {
22
+ constructor() {
23
+ this.data = { loadFailed: false };
24
+ this.resolver = new ObjectResolver((data) => {
25
+ this.data = data;
26
+ });
27
+ }
28
+ connectedCallback() {
29
+ this.resolver.connect(this.limetype, this.objectid, getElement(this), this.platform);
30
+ }
31
+ disconnectedCallback() {
32
+ this.resolver.disconnect();
33
+ }
34
+ handlePropChange() {
35
+ this.resolver.update(this.limetype, this.objectid);
36
+ }
37
+ render() {
38
+ if (!this.resolver.resolvedPlatform) {
39
+ return;
40
+ }
41
+ const icon = getIcon(this.data.limetypeData);
42
+ return (h("limel-chip", { text: this.getChipText(), icon: icon, link: { href: getObjectUrl(this.limetype, this.objectid) }, loading: !this.data.limeobject && !this.data.loadFailed }));
43
+ }
44
+ getChipText() {
45
+ var _a;
46
+ if ((_a = this.data.limeobject) === null || _a === void 0 ? void 0 : _a.descriptive) {
47
+ return this.data.limeobject.descriptive;
48
+ }
49
+ if (this.data.loadFailed) {
50
+ return this.getErrorText();
51
+ }
52
+ return '';
53
+ }
54
+ getErrorText() {
55
+ if (!this.resolver.resolvedPlatform) {
56
+ return 'loading failed';
57
+ }
58
+ try {
59
+ const translator = this.resolver.resolvedPlatform.get(PlatformServiceName.Translate);
60
+ return translator.get('webclient.limeobject.errors.load-failed');
61
+ }
62
+ catch (_a) {
63
+ return 'loading failed';
64
+ }
65
+ }
66
+ static get is() { return "limebb-object-chip"; }
67
+ static get encapsulation() { return "shadow"; }
68
+ static get originalStyleUrls() {
69
+ return {
70
+ "$": ["object-chip.scss"]
71
+ };
72
+ }
73
+ static get styleUrls() {
74
+ return {
75
+ "$": ["object-chip.css"]
76
+ };
77
+ }
78
+ static get properties() {
79
+ return {
80
+ "limetype": {
81
+ "type": "string",
82
+ "mutable": false,
83
+ "complexType": {
84
+ "original": "string",
85
+ "resolved": "string",
86
+ "references": {}
87
+ },
88
+ "required": false,
89
+ "optional": false,
90
+ "docs": {
91
+ "tags": [],
92
+ "text": "Name of the limetype of the object."
93
+ },
94
+ "getter": false,
95
+ "setter": false,
96
+ "attribute": "limetype",
97
+ "reflect": false
98
+ },
99
+ "objectid": {
100
+ "type": "number",
101
+ "mutable": false,
102
+ "complexType": {
103
+ "original": "number",
104
+ "resolved": "number",
105
+ "references": {}
106
+ },
107
+ "required": false,
108
+ "optional": false,
109
+ "docs": {
110
+ "tags": [],
111
+ "text": "Id of the object."
112
+ },
113
+ "getter": false,
114
+ "setter": false,
115
+ "attribute": "objectid",
116
+ "reflect": false
117
+ },
118
+ "platform": {
119
+ "type": "unknown",
120
+ "mutable": false,
121
+ "complexType": {
122
+ "original": "LimeWebComponentPlatform",
123
+ "resolved": "LimeWebComponentPlatform | undefined",
124
+ "references": {
125
+ "LimeWebComponentPlatform": {
126
+ "location": "import",
127
+ "path": "@limetech/lime-web-components",
128
+ "id": "node_modules::LimeWebComponentPlatform"
129
+ }
130
+ }
131
+ },
132
+ "required": false,
133
+ "optional": true,
134
+ "docs": {
135
+ "tags": [],
136
+ "text": "Platform instance. If not provided, the component will\nwalk the DOM to find a parent with a platform.\n\n:::note\nThe platform must be available when the component connects to\nthe DOM, either as a prop or via a parent element. Changing\nthe platform after the component has connected is not supported.\n:::"
137
+ },
138
+ "getter": false,
139
+ "setter": false
140
+ }
141
+ };
142
+ }
143
+ static get states() {
144
+ return {
145
+ "data": {}
146
+ };
147
+ }
148
+ static get watchers() {
149
+ return [{
150
+ "propName": "limetype",
151
+ "methodName": "handlePropChange"
152
+ }, {
153
+ "propName": "objectid",
154
+ "methodName": "handlePropChange"
155
+ }];
156
+ }
157
+ }
@@ -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
+ }