@limetech/lime-crm-building-blocks 1.113.5 → 1.115.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 (182) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/{_baseIsEqual-cb7951b0.js → _baseIsEqual-f2d60d3e.js} +1 -1
  3. package/dist/cjs/extension-mapping-63bdafd3.js +57 -0
  4. package/dist/cjs/file-extension-7c2eae39.js +22 -0
  5. package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
  6. package/dist/cjs/limebb-document-chips.cjs.entry.js +407 -0
  7. package/dist/cjs/limebb-document-item.cjs.entry.js +2 -2
  8. package/dist/cjs/limebb-document-picker.cjs.entry.js +1 -1
  9. package/dist/cjs/limebb-feed-item-thumbnail-file-info.cjs.entry.js +1 -1
  10. package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +1 -1
  11. package/dist/cjs/limebb-feed.cjs.entry.js +1 -1
  12. package/dist/cjs/limebb-icon-picker.cjs.entry.js +1 -1
  13. package/dist/cjs/limebb-info-tile-format.cjs.entry.js +1 -1
  14. package/dist/cjs/limebb-info-tile.cjs.entry.js +1 -1
  15. package/dist/cjs/limebb-kanban-group.cjs.entry.js +1 -1
  16. package/dist/cjs/limebb-kanban-item.cjs.entry.js +1 -1
  17. package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +1 -1
  18. package/dist/cjs/limebb-lime-query-filter-builder_3.cjs.entry.js +3 -3
  19. package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +1 -1
  20. package/dist/cjs/limebb-lime-query-filter-group_3.cjs.entry.js +3 -3
  21. package/dist/cjs/limebb-lime-query-order-by-item.cjs.entry.js +2 -2
  22. package/dist/cjs/limebb-lime-query-response-format-builder.cjs.entry.js +1 -1
  23. package/dist/cjs/limebb-lime-query-response-format-editor_2.cjs.entry.js +1 -1
  24. package/dist/cjs/limebb-limeobject-file-viewer.cjs.entry.js +2 -55
  25. package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
  26. package/dist/cjs/limebb-locale-picker.cjs.entry.js +3 -3
  27. package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
  28. package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +25 -3
  29. package/dist/cjs/limebb-notification-item.cjs.entry.js +1 -1
  30. package/dist/cjs/limebb-object-chip.cjs.entry.js +15 -1
  31. package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +2 -2
  32. package/dist/cjs/limebb-text-editor.cjs.entry.js +1 -1
  33. package/dist/cjs/limebb-trend-indicator.cjs.entry.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/document-chips/document-chips.css +20 -0
  37. package/dist/collection/components/document-chips/document-chips.js +178 -0
  38. package/dist/collection/components/document-chips/document-chips.types.js +1 -0
  39. package/dist/collection/components/document-picker/document-item/document-item.js +2 -2
  40. package/dist/collection/components/document-picker/document-picker.js +1 -1
  41. package/dist/collection/components/feed/feed-item/feed-timeline-item.js +1 -1
  42. package/dist/collection/components/feed/feed-item-thumbnail-file-info/feed-item-thumbnail-file-info.js +1 -1
  43. package/dist/collection/components/feed/feed.js +1 -1
  44. package/dist/collection/components/icon-picker/icon-picker.js +1 -1
  45. package/dist/collection/components/info-tile/format/config/info-tile-format.js +1 -1
  46. package/dist/collection/components/info-tile/info-tile.js +1 -1
  47. package/dist/collection/components/kanban/kanban-group/kanban-group.js +1 -1
  48. package/dist/collection/components/kanban/kanban-item/kanban-item.js +1 -1
  49. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +1 -1
  50. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js +2 -2
  51. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +1 -1
  52. package/dist/collection/components/lime-query-builder/lime-query-builder.js +1 -1
  53. package/dist/collection/components/lime-query-builder/lime-query-response-format-builder.js +1 -1
  54. package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +1 -1
  55. package/dist/collection/components/lime-query-builder/order-by/order-by-editor.js +1 -1
  56. package/dist/collection/components/lime-query-builder/order-by/order-by-item.js +2 -2
  57. package/dist/collection/components/lime-query-builder/response-format/response-format-item.js +1 -1
  58. package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
  59. package/dist/collection/components/locale-picker/locale-picker.js +1 -1
  60. package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
  61. package/dist/collection/components/object-chip/object-chip.js +37 -2
  62. package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
  63. package/dist/collection/components/summary-popover/summary-popover.js +49 -3
  64. package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
  65. package/dist/collection/components/text-editor/text-editor.js +1 -1
  66. package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
  67. package/dist/collection/util/file-extension.js +18 -0
  68. package/dist/collection/util/file-icon-background-colors.js +98 -0
  69. package/dist/collection/util/file-icon-fill-colors.js +98 -0
  70. package/dist/collection/util/file-icon.js +18 -0
  71. package/dist/collection/util/file-icons.js +99 -0
  72. package/dist/components/_baseIsEqual.js +1 -1
  73. package/dist/components/document-item.js +2 -2
  74. package/dist/components/extension-mapping.js +55 -0
  75. package/dist/components/feed-item-thumbnail-file-info.js +1 -1
  76. package/dist/components/feed-timeline-item.js +1 -1
  77. package/dist/components/kanban-group.js +1 -1
  78. package/dist/components/kanban-item.js +1 -1
  79. package/dist/components/lime-query-filter-comparison.js +1 -1
  80. package/dist/components/lime-query-filter-expression.js +3 -3
  81. package/dist/components/limebb-document-chips.d.ts +11 -0
  82. package/dist/components/limebb-document-chips.js +437 -0
  83. package/dist/components/limebb-document-picker.js +1 -1
  84. package/dist/components/limebb-feed.js +1 -1
  85. package/dist/components/limebb-icon-picker.js +1 -1
  86. package/dist/components/limebb-info-tile-format.js +1 -1
  87. package/dist/components/limebb-info-tile.js +1 -1
  88. package/dist/components/limebb-lime-query-builder.js +1 -1
  89. package/dist/components/limebb-lime-query-response-format-builder.js +1 -1
  90. package/dist/components/limebb-limeobject-file-viewer.js +1 -54
  91. package/dist/components/limebb-locale-picker.js +2 -2
  92. package/dist/components/limebb-mention-group-counter.js +2 -2
  93. package/dist/components/limebb-object-chip.js +16 -1
  94. package/dist/components/limebb-text-editor.js +1 -1
  95. package/dist/components/limebb-trend-indicator.js +1 -1
  96. package/dist/components/limetype-field.js +1 -1
  97. package/dist/components/live-docs-info.js +2 -2
  98. package/dist/components/notification-item.js +1 -1
  99. package/dist/components/order-by-editor.js +1 -1
  100. package/dist/components/order-by-item.js +2 -2
  101. package/dist/components/percentage-visualizer.js +2 -2
  102. package/dist/components/response-format-item.js +1 -1
  103. package/dist/components/summary-popover.js +45 -4
  104. package/dist/esm/{_baseIsEqual-28053b81.js → _baseIsEqual-077b6bb3.js} +1 -1
  105. package/dist/esm/extension-mapping-fcade195.js +55 -0
  106. package/dist/esm/file-extension-568475d1.js +20 -0
  107. package/dist/esm/lime-crm-building-blocks.js +1 -1
  108. package/dist/esm/limebb-document-chips.entry.js +403 -0
  109. package/dist/esm/limebb-document-item.entry.js +2 -2
  110. package/dist/esm/limebb-document-picker.entry.js +1 -1
  111. package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
  112. package/dist/esm/limebb-feed-timeline-item.entry.js +1 -1
  113. package/dist/esm/limebb-feed.entry.js +1 -1
  114. package/dist/esm/limebb-icon-picker.entry.js +1 -1
  115. package/dist/esm/limebb-info-tile-format.entry.js +1 -1
  116. package/dist/esm/limebb-info-tile.entry.js +1 -1
  117. package/dist/esm/limebb-kanban-group.entry.js +1 -1
  118. package/dist/esm/limebb-kanban-item.entry.js +1 -1
  119. package/dist/esm/limebb-lime-query-builder.entry.js +1 -1
  120. package/dist/esm/limebb-lime-query-filter-builder_3.entry.js +3 -3
  121. package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +1 -1
  122. package/dist/esm/limebb-lime-query-filter-group_3.entry.js +3 -3
  123. package/dist/esm/limebb-lime-query-order-by-item.entry.js +2 -2
  124. package/dist/esm/limebb-lime-query-response-format-builder.entry.js +1 -1
  125. package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +1 -1
  126. package/dist/esm/limebb-limeobject-file-viewer.entry.js +1 -54
  127. package/dist/esm/limebb-live-docs-info.entry.js +2 -2
  128. package/dist/esm/limebb-locale-picker.entry.js +3 -3
  129. package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
  130. package/dist/esm/limebb-navigation-button_2.entry.js +25 -3
  131. package/dist/esm/limebb-notification-item.entry.js +1 -1
  132. package/dist/esm/limebb-object-chip.entry.js +15 -1
  133. package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
  134. package/dist/esm/limebb-text-editor.entry.js +1 -1
  135. package/dist/esm/limebb-trend-indicator.entry.js +1 -1
  136. package/dist/esm/loader.js +1 -1
  137. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  138. package/dist/lime-crm-building-blocks/{p-0c25d565.entry.js → p-0d0f4c0f.entry.js} +1 -1
  139. package/dist/lime-crm-building-blocks/{p-711df3e6.entry.js → p-103654ac.entry.js} +1 -1
  140. package/dist/lime-crm-building-blocks/{p-35b75e49.entry.js → p-18d1ab86.entry.js} +1 -1
  141. package/dist/lime-crm-building-blocks/{p-ddf0dcbc.entry.js → p-20b5ff30.entry.js} +1 -1
  142. package/dist/lime-crm-building-blocks/{p-b2e705bc.entry.js → p-22fffe85.entry.js} +1 -1
  143. package/dist/lime-crm-building-blocks/{p-83ff2b4c.entry.js → p-2ed843e9.entry.js} +1 -1
  144. package/dist/lime-crm-building-blocks/{p-14cd62c1.entry.js → p-375f40d9.entry.js} +1 -1
  145. package/dist/lime-crm-building-blocks/{p-c09dcd4c.entry.js → p-3a7b37cc.entry.js} +1 -1
  146. package/dist/lime-crm-building-blocks/{p-3443a292.entry.js → p-3b3e7328.entry.js} +1 -1
  147. package/dist/lime-crm-building-blocks/{p-551ffa9f.entry.js → p-4066e17a.entry.js} +1 -1
  148. package/dist/lime-crm-building-blocks/{p-a4f367f8.entry.js → p-4dad4ce8.entry.js} +1 -1
  149. package/dist/lime-crm-building-blocks/p-50aad872.entry.js +1 -0
  150. package/dist/lime-crm-building-blocks/{p-9161869b.entry.js → p-53d54dc8.entry.js} +1 -1
  151. package/dist/lime-crm-building-blocks/{p-1d44c670.entry.js → p-6bd5c65f.entry.js} +1 -1
  152. package/dist/lime-crm-building-blocks/p-6bf1ab6d.entry.js +1 -0
  153. package/dist/lime-crm-building-blocks/{p-0536bf83.entry.js → p-7a6c1595.entry.js} +1 -1
  154. package/dist/lime-crm-building-blocks/{p-9aad6195.entry.js → p-7b5a1e83.entry.js} +1 -1
  155. package/dist/lime-crm-building-blocks/{p-df13ebba.entry.js → p-812bf26e.entry.js} +1 -1
  156. package/dist/lime-crm-building-blocks/{p-385020b4.entry.js → p-81f8e5df.entry.js} +1 -1
  157. package/dist/lime-crm-building-blocks/{p-4d9244e7.entry.js → p-94e6f0de.entry.js} +1 -1
  158. package/dist/lime-crm-building-blocks/{p-6c67ed0e.entry.js → p-9bc5caac.entry.js} +1 -1
  159. package/dist/lime-crm-building-blocks/{p-283a6f9e.entry.js → p-9c204549.entry.js} +1 -1
  160. package/dist/lime-crm-building-blocks/{p-00414464.entry.js → p-a7e55181.entry.js} +1 -1
  161. package/dist/lime-crm-building-blocks/p-ab2a95a6.js +1 -0
  162. package/dist/lime-crm-building-blocks/p-b42e9740.js +1 -0
  163. package/dist/lime-crm-building-blocks/{p-5d0874f6.entry.js → p-d5b835a6.entry.js} +1 -1
  164. package/dist/lime-crm-building-blocks/p-d7fc530f.entry.js +1 -0
  165. package/dist/lime-crm-building-blocks/{p-401ccdec.entry.js → p-d9f76810.entry.js} +1 -1
  166. package/dist/lime-crm-building-blocks/{p-2395476f.entry.js → p-dddd8a43.entry.js} +1 -1
  167. package/dist/lime-crm-building-blocks/{p-ed14ca30.entry.js → p-f7122d8e.entry.js} +1 -1
  168. package/dist/types/components/document-chips/document-chips.d.ts +45 -0
  169. package/dist/types/components/document-chips/document-chips.types.d.ts +23 -0
  170. package/dist/types/components/object-chip/object-chip.d.ts +5 -0
  171. package/dist/types/components/summary-popover/summary-popover.d.ts +10 -1
  172. package/dist/types/components.d.ts +120 -4
  173. package/dist/types/interface.d.ts +1 -0
  174. package/dist/types/util/file-extension.d.ts +10 -0
  175. package/dist/types/util/file-icon-background-colors.d.ts +3 -0
  176. package/dist/types/util/file-icon-fill-colors.d.ts +3 -0
  177. package/dist/types/util/file-icon.d.ts +9 -0
  178. package/dist/types/util/file-icons.d.ts +3 -0
  179. package/package.json +3 -3
  180. package/dist/lime-crm-building-blocks/p-7b9981b9.entry.js +0 -1
  181. package/dist/lime-crm-building-blocks/p-d2bd2fc3.entry.js +0 -1
  182. /package/dist/lime-crm-building-blocks/{p-a659d55a.js → p-f788a48d.js} +0 -0
@@ -0,0 +1,178 @@
1
+ import { h, Host, } from "@stencil/core";
2
+ import { getPreviewType } from "../limeobject/file-viewer/extension-mapping";
3
+ import { getFileExtension } from "../../util/file-extension";
4
+ import { getFileIcon } from "../../util/file-icon";
5
+ /**
6
+ * Renders a list of document chips, each wrapped in a
7
+ * `limebb-summary-popover` that shows a file preview on hover or
8
+ * keyboard focus.
9
+ *
10
+ * Supports browser-previewable files (images, PDFs, video, audio, text).
11
+ * Office file types show a fallback message instead of an unsupported preview.
12
+ *
13
+ * The component manages blob URL creation for local files internally
14
+ * and cleans them up when files are removed or the component is destroyed.
15
+ *
16
+ * @exampleComponent limebb-example-document-chips-basic
17
+ * @exampleComponent limebb-example-document-chips-upload-states
18
+ *
19
+ * @beta
20
+ */
21
+ export class DocumentChips {
22
+ constructor() {
23
+ /**
24
+ * The list of files to display as document chips.
25
+ */
26
+ this.files = [];
27
+ this.blobUrls = new Map();
28
+ this.handleRemove = (event) => {
29
+ event.stopPropagation();
30
+ const fileId = event.detail;
31
+ this.revokeBlobUrl(fileId);
32
+ this.removeFile.emit(fileId);
33
+ };
34
+ }
35
+ onFilesChanged(newFiles, oldFiles) {
36
+ const currentIds = new Set(newFiles.map((file) => file.id));
37
+ for (const file of oldFiles) {
38
+ if (!currentIds.has(file.id)) {
39
+ this.revokeBlobUrl(file.id);
40
+ }
41
+ }
42
+ }
43
+ disconnectedCallback() {
44
+ this.revokeAllBlobUrls();
45
+ }
46
+ render() {
47
+ return (h(Host, { key: '6c8347de35ccd6061c8fa282820210f6a3bcc2c8', role: "list", "aria-label": this.accessibleLabel }, this.files.map((file) => this.renderFile(file))));
48
+ }
49
+ renderFile(file) {
50
+ const isReady = !file.uploadState || file.uploadState === 'done';
51
+ const icon = this.getIcon(file);
52
+ const chip = (h("limel-chip", { role: isReady ? undefined : 'listitem', slot: isReady ? 'trigger' : undefined, removable: true, identifier: file.id, text: file.filename, icon: icon, invalid: file.uploadState === 'failed', progress: file.uploadState === 'uploading'
53
+ ? file.uploadProgress
54
+ : undefined, loading: file.uploadState === 'added' ||
55
+ file.uploadState === 'finalizing', onRemove: this.handleRemove }));
56
+ if (!isReady) {
57
+ return chip;
58
+ }
59
+ return (h("limebb-summary-popover", { role: "listitem", file: Object.assign(Object.assign({}, file), { href: this.getPreviewUrl(file) }), popoverMaxWidth: "32rem", popoverMaxHeight: "32rem", triggerDelay: 1000 }, chip));
60
+ }
61
+ getIcon(file) {
62
+ if (file.icon) {
63
+ return file.icon;
64
+ }
65
+ return getFileIcon(file.filename);
66
+ }
67
+ getPreviewUrl(file) {
68
+ const extension = getFileExtension(file.filename);
69
+ const previewType = getPreviewType(extension);
70
+ if (previewType === 'sharepoint') {
71
+ return undefined;
72
+ }
73
+ if (file.href) {
74
+ return file.href;
75
+ }
76
+ if (file.fileContent) {
77
+ if (!this.blobUrls.has(file.id)) {
78
+ this.blobUrls.set(file.id, URL.createObjectURL(file.fileContent));
79
+ }
80
+ return this.blobUrls.get(file.id);
81
+ }
82
+ }
83
+ revokeBlobUrl(fileId) {
84
+ const url = this.blobUrls.get(fileId);
85
+ if (url) {
86
+ URL.revokeObjectURL(url);
87
+ this.blobUrls.delete(fileId);
88
+ }
89
+ }
90
+ revokeAllBlobUrls() {
91
+ for (const url of this.blobUrls.values())
92
+ URL.revokeObjectURL(url);
93
+ this.blobUrls.clear();
94
+ }
95
+ static get is() { return "limebb-document-chips"; }
96
+ static get encapsulation() { return "shadow"; }
97
+ static get originalStyleUrls() {
98
+ return {
99
+ "$": ["document-chips.scss"]
100
+ };
101
+ }
102
+ static get styleUrls() {
103
+ return {
104
+ "$": ["document-chips.css"]
105
+ };
106
+ }
107
+ static get properties() {
108
+ return {
109
+ "accessibleLabel": {
110
+ "type": "string",
111
+ "mutable": false,
112
+ "complexType": {
113
+ "original": "string",
114
+ "resolved": "string | undefined",
115
+ "references": {}
116
+ },
117
+ "required": false,
118
+ "optional": true,
119
+ "docs": {
120
+ "tags": [],
121
+ "text": "A label used to describe the purpose of the list to users\nof assistive technologies, like screen readers."
122
+ },
123
+ "getter": false,
124
+ "setter": false,
125
+ "attribute": "accessible-label",
126
+ "reflect": true
127
+ },
128
+ "files": {
129
+ "type": "unknown",
130
+ "mutable": false,
131
+ "complexType": {
132
+ "original": "DocumentChipFile[]",
133
+ "resolved": "DocumentChipFile[]",
134
+ "references": {
135
+ "DocumentChipFile": {
136
+ "location": "import",
137
+ "path": "./document-chips.types",
138
+ "id": "src/components/document-chips/document-chips.types.ts::DocumentChipFile"
139
+ }
140
+ }
141
+ },
142
+ "required": false,
143
+ "optional": false,
144
+ "docs": {
145
+ "tags": [],
146
+ "text": "The list of files to display as document chips."
147
+ },
148
+ "getter": false,
149
+ "setter": false,
150
+ "defaultValue": "[]"
151
+ }
152
+ };
153
+ }
154
+ static get events() {
155
+ return [{
156
+ "method": "removeFile",
157
+ "name": "removeFile",
158
+ "bubbles": true,
159
+ "cancelable": true,
160
+ "composed": true,
161
+ "docs": {
162
+ "tags": [],
163
+ "text": "Fired when a document chip's remove button is clicked.\nThe event detail contains the file's `id`."
164
+ },
165
+ "complexType": {
166
+ "original": "string | number",
167
+ "resolved": "number | string",
168
+ "references": {}
169
+ }
170
+ }];
171
+ }
172
+ static get watchers() {
173
+ return [{
174
+ "propName": "files",
175
+ "methodName": "onFilesChanged"
176
+ }];
177
+ }
178
+ }
@@ -78,10 +78,10 @@ export class DocumentItemComponent {
78
78
  render() {
79
79
  const isUnavailable = this.isUnavailable();
80
80
  const image = this.getImage();
81
- return (h(Host, { key: 'dcde12cbad8827bf2a24aeed5f79a2a142ccd447', id: String(this.item.file.id), class: {
81
+ return (h(Host, { key: 'b8c73e13073f66162b66a62f88b8b301a6a139d4', id: String(this.item.file.id), class: {
82
82
  'has-image': !!image,
83
83
  'has-error': !!this.item.hasError,
84
- }, role: this.type === 'radio' ? 'radio' : 'checkbox', "aria-checked": this.item.selected ? 'true' : 'false', "aria-disabled": isUnavailable ? 'true' : 'false', tabIndex: isUnavailable ? -1 : 0 }, h("limel-card", { key: '9ff6628132ce3d11e0f714dc986a7e22cd0c7a76', image: image, clickable: isUnavailable ? false : true, onClick: this.handleDocumentItemClick, onKeyDown: this.handleKeyDown }, h("div", { key: '64d7d70132e981fdb8d2e19edf467bfa25b5957e', slot: "component" }, this.renderFileSize(), this.renderBooleanInput())), this.renderHelp()));
84
+ }, role: this.type === 'radio' ? 'radio' : 'checkbox', "aria-checked": this.item.selected ? 'true' : 'false', "aria-disabled": isUnavailable ? 'true' : 'false', tabIndex: isUnavailable ? -1 : 0 }, h("limel-card", { key: '19cf30dc7a3ce2647ddc2abbd177b9f18db8001d', image: image, clickable: isUnavailable ? false : true, onClick: this.handleDocumentItemClick, onKeyDown: this.handleKeyDown }, h("div", { key: 'd3a2c411d3cbbe4e554f9701af6f2191a4b2078d', slot: "component" }, this.renderFileSize(), this.renderBooleanInput())), this.renderHelp()));
85
85
  }
86
86
  renderBooleanInput() {
87
87
  const id = this.getControlId();
@@ -76,7 +76,7 @@ export class DocumentPicker {
76
76
  this.labelId = createRandomString();
77
77
  }
78
78
  render() {
79
- return (h(Host, { key: '6554eadab98c010e090558343f2b7fe02f0ff30f' }, h("limel-notched-outline", { key: 'cb70c92e464ec41cc7792825dbf341b73c0d51b5', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, hasFloatingLabel: true }, h("limel-masonry-layout", { key: 'b2e41fd16407b1a3218c07a4e205bdb60f442ae3', slot: "content", role: this.type === 'radio' ? 'radiogroup' : 'group', "aria-labelledby": this.label ? this.labelId : undefined, "aria-describedby": this.helperText ? this.helperTextId : undefined }, this.renderItems())), this.renderHelperLine()));
79
+ return (h(Host, { key: '8f6613354bdee3af42920f78325b2e1a76bbf91e' }, h("limel-notched-outline", { key: '9b4b665b76f4c1fc1047052824c7cff1dcd7c495', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, hasFloatingLabel: true }, h("limel-masonry-layout", { key: '1578066ee0b76f4344389a91c68b09b5955bae90', slot: "content", role: this.type === 'radio' ? 'radiogroup' : 'group', "aria-labelledby": this.label ? this.labelId : undefined, "aria-describedby": this.helperText ? this.helperTextId : undefined }, this.renderItems())), this.renderHelperLine()));
80
80
  }
81
81
  renderItems() {
82
82
  return this.items.map((item) => (h("limebb-document-item", { platform: this.platform, context: this.context, item: item, key: item.file.id, type: this.type, onInteract: this.handleItemInteract })));
@@ -205,7 +205,7 @@ export class FeedTimelineItem {
205
205
  render() {
206
206
  var _a, _b;
207
207
  const helperTextId = `helper-text-${this.item.id}`;
208
- return (h(Host, { key: '23db557be6e62f605b3d457209d3e03e47b88510', id: this.item.id, class: {
208
+ return (h(Host, { key: 'de138a29c33bcf4b77e6699b4ecc5dd4acde1c56', id: this.item.id, class: {
209
209
  'has-unpromoted-actions': !!((_a = this.item.unpromotedActions) === null || _a === void 0 ? void 0 : _a.length),
210
210
  'has-author-picture': !!((_b = this.item.author) === null || _b === void 0 ? void 0 : _b.picture),
211
211
  'shows-less': !this.showMore,
@@ -8,7 +8,7 @@ import { h } from "@stencil/core";
8
8
  */
9
9
  export class FeedItemThumbnailFileInfo {
10
10
  render() {
11
- return h("span", { key: '069a5fa52cbf4a8af6bd2b1a39b06a55b2425cf9' }, this.description);
11
+ return h("span", { key: 'e651265e23288802ee6d89e3cfe5e0f7bd8073c3' }, this.description);
12
12
  }
13
13
  static get is() { return "limebb-feed-item-thumbnail-file-info"; }
14
14
  static get encapsulation() { return "shadow"; }
@@ -103,7 +103,7 @@ export class Feed {
103
103
  this.highlighter.unregisterFeed(this.feedItemElement);
104
104
  }
105
105
  render() {
106
- return (h(Host, { key: 'ba514e5c049d1c06260bca13834317688f5c8966', role: "log", "aria-busy": this.loading ? 'true' : 'false', style: {
106
+ return (h(Host, { key: 'b56f2996447a80c5cf12f83fce2ca05de53553e4', role: "log", "aria-busy": this.loading ? 'true' : 'false', style: {
107
107
  '--limebb-feed-highlight-duration': `${ITEM_HIGHLIGHT_DURATION}ms`,
108
108
  } }, this.renderLoadMore(), this.renderEmptyFeedMessage(), this.renderSpinner(), this.renderFeedItems()));
109
109
  }
@@ -35,7 +35,7 @@ export class IconPicker {
35
35
  icon: this.value,
36
36
  };
37
37
  }
38
- return (h("limel-picker", { key: '9ab148e0ae9bf8095b4f018303b7d13821a8ce83', label: this.label, helperText: this.helperText, disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, required: this.required, value: value, searcher: this.search, onChange: this.handleChange, badgeIcons: false, leadingIcon: "search", searchLabel: "Start typing to find the right icon" }));
38
+ return (h("limel-picker", { key: 'd86348e6a8d4e6aa03ac880565cfd53eccfa4aff', label: this.label, helperText: this.helperText, disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, required: this.required, value: value, searcher: this.search, onChange: this.handleChange, badgeIcons: false, leadingIcon: "search", searchLabel: "Start typing to find the right icon" }));
39
39
  }
40
40
  static get is() { return "limebb-icon-picker"; }
41
41
  static get encapsulation() { return "shadow"; }
@@ -92,7 +92,7 @@ export class InfoTileAdminConfig {
92
92
  },
93
93
  ];
94
94
  return [
95
- h("limel-button-group", { key: '971f24abda709fdf0b6803037557472bbec9c357', value: buttons.filter(this.isValidButton), onChange: this.handleChangeType }),
95
+ h("limel-button-group", { key: 'cac8e4793eb19e3f4d959a7a53115954b190eddf', value: buttons.filter(this.isValidButton), onChange: this.handleChangeType }),
96
96
  this.renderFormatConfig(),
97
97
  ];
98
98
  }
@@ -100,7 +100,7 @@ export class InfoTile {
100
100
  const errorProps = Object.assign(Object.assign({}, baseProps), { icon: 'error', prefix: 'ERROR', loading: true, label: this.getLabel(filter) });
101
101
  const normalProps = Object.assign(Object.assign({}, baseProps), { label: this.getLabel(filter), link: this.getLink(filter), loading: this.loading, value: value === null || value === void 0 ? void 0 : value.value.trim() });
102
102
  const props = !filter || this.error ? errorProps : normalProps;
103
- return (h("limel-info-tile", Object.assign({ key: '9634fc3d797fa0382b9e0eca1eabf67c19ffa4a6', class: { error: !filter || this.error } }, props)));
103
+ return (h("limel-info-tile", Object.assign({ key: '1211ee931d2cf7a5a3c13896515812ddbcab29f2', class: { error: !filter || this.error } }, props)));
104
104
  }
105
105
  getFormattedValue() {
106
106
  if (!this.value && this.value !== 0) {
@@ -27,7 +27,7 @@ export class KanbanGroup {
27
27
  };
28
28
  }
29
29
  render() {
30
- return (h(Host, { key: '1257ca054481efc8f33ad7b9fb729ee8304e5539' }, this.renderHelp(), this.renderGroupHeading(), this.renderGroupSummary(), this.renderItems()));
30
+ return (h(Host, { key: '45122f5462476d2c0c9a44af4c5281ef510fdea1' }, this.renderHelp(), this.renderGroupHeading(), this.renderGroupSummary(), this.renderItems()));
31
31
  }
32
32
  renderGroupSummary() {
33
33
  if (!this.summary || !this.totalCount) {
@@ -55,7 +55,7 @@ export class KanbanItemComponent {
55
55
  }
56
56
  render() {
57
57
  var _a, _b;
58
- return (h(Host, { key: '4c57d77052c3773be3ec323f34769095d514d82b', id: this.item.id.toString(), class: {
58
+ return (h(Host, { key: 'b426be161e49623843ff6c47cddad048177ca441', id: this.item.id.toString(), class: {
59
59
  'has-unpromoted-actions': !!((_a = this.item.unpromotedActions) === null || _a === void 0 ? void 0 : _a.length),
60
60
  'is-selected': !!((_b = this.item) === null || _b === void 0 ? void 0 : _b.selected),
61
61
  }, style: {
@@ -122,7 +122,7 @@ export class LimeQueryFilterComparisonComponent {
122
122
  };
123
123
  }
124
124
  render() {
125
- return (h(Host, { key: '1bbb2389d353b5a1b174ee5423ab524a350d5810' }, this.renderHeader(), h("div", { key: 'a81fed03577d534e509ddcbc9ef66456191fe53f', class: "expression-container" }, this.renderPropertySelector(), this.renderOperator(), this.renderValueInput(), h("limel-icon-button", { key: 'e3f76847095e0d586d7c72e6750acb220a187e6e', class: "remove", icon: "trash", label: "Remove condition", onClick: this.removeExpression }))));
125
+ return (h(Host, { key: '008be722e21a16f4e2f80f655f70a564a9b1e38d' }, this.renderHeader(), h("div", { key: '2cd041b142596671c7ead3849406b8fa65c29926', class: "expression-container" }, this.renderPropertySelector(), this.renderOperator(), this.renderValueInput(), h("limel-icon-button", { key: '1fb2fc8a0cec0b70f5d3c24a976f0f436a294eae', class: "remove", icon: "trash", label: "Remove condition", onClick: this.removeExpression }))));
126
126
  }
127
127
  renderHeader() {
128
128
  if (!this.label) {
@@ -72,9 +72,9 @@ export class LimeQueryFilterGroupComponent {
72
72
  (this.expression.op === Operator.AND ? 'and' : 'or')) || this.options[0];
73
73
  }
74
74
  render() {
75
- return (h(Host, { key: '3543d72a3edb0c320abb3f9379d338d36ad6d6c4', style: {
75
+ return (h(Host, { key: 'a93a715b9bd65e6e9381083aef11951588471fc5', style: {
76
76
  '--limebb-lime-query-filter-group-operator': `"${this.expression.op === Operator.AND ? 'AND' : 'OR'}"`,
77
- } }, h("div", { key: '01bed380a233e8add40afb4d45c1606fb28989fc', class: "expression" }, this.renderHeader(), h("ul", { key: '7b6ac524a60a7782ca1ecc7759040d4eca3647ef' }, this.expression.exp.map(this.renderChildExpression), this.renderAddButton()), this.renderAddGroupButton())));
77
+ } }, h("div", { key: 'efbf025924e34613504f38db66affa1650bfe70c', class: "expression" }, this.renderHeader(), h("ul", { key: '6e287058fb7969124e4f22b42b32b14d80c0511f' }, this.expression.exp.map(this.renderChildExpression), this.renderAddButton()), this.renderAddGroupButton())));
78
78
  }
79
79
  renderHeader() {
80
80
  const subheading = this.getSubheading();
@@ -35,7 +35,7 @@ export class LimeQueryFilterNotComponent {
35
35
  };
36
36
  }
37
37
  render() {
38
- return (h("div", { key: '7ee2b42fce778c2239a8537cf3d9ce6808c97d79', class: "expression" }, this.label && h("limel-header", { key: 'd14cadc9ca8522a637614952579c760943df27f9', heading: this.label }), h("limebb-lime-query-filter-expression", { key: 'd9b52ba968caafd32405744ebff05f216b805f56', platform: this.platform, context: this.context, label: "Not", limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression.exp, onExpressionChange: this.handleExpressionChange })));
38
+ return (h("div", { key: '2967dd36cabe81bc1f140be7d11d471b1f29f5e7', class: "expression" }, this.label && h("limel-header", { key: '5a7ab204d8c0d45706ad61b1db8d1ef3acfb0731', heading: this.label }), h("limebb-lime-query-filter-expression", { key: 'ee8ea7f9eeb111d77abbcecd98d61e550ff8cdb9', platform: this.platform, context: this.context, label: "Not", limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression.exp, onExpressionChange: this.handleExpressionChange })));
39
39
  }
40
40
  static get is() { return "limebb-lime-query-filter-not"; }
41
41
  static get encapsulation() { return "shadow"; }
@@ -172,7 +172,7 @@ export class LimeQueryBuilder {
172
172
  }
173
173
  }
174
174
  render() {
175
- return (h(Host, { key: '683e54464031d37a38480a55aed3e3006ec9e806' }, this.renderHeader(), this.renderContent()));
175
+ return (h(Host, { key: '883901b3f445419dad53e7c02dd160ad7483c0cb' }, this.renderHeader(), this.renderContent()));
176
176
  }
177
177
  renderContent() {
178
178
  const visualModeSupported = this.checkVisualModeSupport();
@@ -154,7 +154,7 @@ export class LimeQueryResponseFormatBuilder {
154
154
  }
155
155
  render() {
156
156
  const visualModeSupported = this.checkVisualModeSupport();
157
- return (h("div", { key: '56166271cfd95e3164f6002605de9b4a73d5b850', class: "response-format-builder" }, this.label && h("h1", { key: 'cccc53913dc0ced44b736328a16c85b3db2a61d4', class: "builder-label" }, this.label), this.helperText && (h("p", { key: '765ea2f4a052f78beba9c60157f07711f432293e', class: "builder-helper-text" }, this.helperText)), this.visualModeEnabled && (h("div", { key: '15a7159322713ab288ef70e8f98aaa11d5064d1f', class: "mode-controls" }, this.renderModeSwitch(visualModeSupported))), !this.visualModeEnabled || this.mode === 'code' ? (h("div", { class: "code-mode" }, this.renderCodeEditor(visualModeSupported))) : (h("div", { class: "visual-mode" }, this.renderVisualMode()))));
157
+ return (h("div", { key: '7f4adae0e3f4d14194fc558600db983f45fe760a', class: "response-format-builder" }, this.label && h("h1", { key: 'eeb78bdccf2f8e344de742618b72a7bb341e5bf5', class: "builder-label" }, this.label), this.helperText && (h("p", { key: '03ff96e0645d03377b28c048f02d868046f17903', class: "builder-helper-text" }, this.helperText)), this.visualModeEnabled && (h("div", { key: '65ca3551326e0ec4deff00aff4a19aec2fee9702', class: "mode-controls" }, this.renderModeSwitch(visualModeSupported))), !this.visualModeEnabled || this.mode === 'code' ? (h("div", { class: "code-mode" }, this.renderCodeEditor(visualModeSupported))) : (h("div", { class: "visual-mode" }, this.renderVisualMode()))));
158
158
  }
159
159
  renderModeSwitch(support) {
160
160
  const visualDisabled = !support.visualModeSupported;
@@ -78,7 +78,7 @@ export class LimetypeField {
78
78
  value: '',
79
79
  };
80
80
  options.unshift(emptyOption);
81
- return (h("limel-select", { key: '098e8b2996788bdfdb785e602173c1a75f506661', label: this.label, options: options, value: selectedOption, required: this.required, helperText: this.helperText, invalid: invalid, disabled: this.disabled || this.readonly, onChange: this.handleChange }));
81
+ return (h("limel-select", { key: '6157ed54a38920f001fa79b5a39c48b677826dd5', label: this.label, options: options, value: selectedOption, required: this.required, helperText: this.helperText, invalid: invalid, disabled: this.disabled || this.readonly, onChange: this.handleChange }));
82
82
  }
83
83
  componentWillRender() {
84
84
  this.updatePropertyFields(this.value || '');
@@ -69,7 +69,7 @@ export class OrderByEditor {
69
69
  }
70
70
  }
71
71
  render() {
72
- return (h(Host, { key: 'b0caaa11dcb633423bae612e22105de44ed1a7a1' }, this.renderEmptyState(), this.renderOrderByEditor()));
72
+ return (h(Host, { key: 'accbc6c9e4d55d7480a0742da0bc96db3077fbf1' }, this.renderEmptyState(), this.renderOrderByEditor()));
73
73
  }
74
74
  renderEmptyState() {
75
75
  if (this.limetype) {
@@ -38,9 +38,9 @@ export class OrderByItemComponent {
38
38
  render() {
39
39
  const propertyPath = Object.keys(this.item)[0] || '';
40
40
  const direction = this.item[propertyPath] || 'ASC';
41
- return (h(Host, { key: 'c0f53a833675b0f086791cdd408e1cffe4fe0f63' }, h("limebb-property-selector", { key: 'd7dc95d9b452334db487494d012ae80dbd3cc3fb', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: propertyPath, required: true, onChange: this.handlePathChange }), h("div", { key: 'f7e70e87cf611acee5b74f2d04416055834b3dcd', class: "control-buttons" }, h("limel-icon-button", { key: 'ca44aa6f7cd6fbadafafe09540494f95215b4d8c', icon: direction === 'ASC'
41
+ return (h(Host, { key: 'd9acb6f013d44d467410a7ed0f318d668bf54055' }, h("limebb-property-selector", { key: '419cfc3264a1fcae40888cc43f5c60a68f2f23db', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: propertyPath, required: true, onChange: this.handlePathChange }), h("div", { key: 'b85f69b1596a61d6d0b63cf857e5b0382f2b6e8c', class: "control-buttons" }, h("limel-icon-button", { key: 'd7beb38b2452bd41ab1cd5f273292c9e58be15cf', icon: direction === 'ASC'
42
42
  ? 'sort_ascending'
43
- : 'sort_descending', label: direction === 'ASC' ? 'Ascending' : 'Descending', onClick: this.handleToggleDirection }), h("limel-icon-button", { key: '92a21267fc8c803c59a686064a77103ddcba71fd', icon: "trash", label: "Remove", onClick: this.handleRemove }))));
43
+ : 'sort_descending', label: direction === 'ASC' ? 'Ascending' : 'Descending', onClick: this.handleToggleDirection }), h("limel-icon-button", { key: '0407b6a44822a4ee182aa95140fe8d9fd01dc377', icon: "trash", label: "Remove", onClick: this.handleRemove }))));
44
44
  }
45
45
  static get is() { return "limebb-lime-query-order-by-item"; }
46
46
  static get encapsulation() { return "shadow"; }
@@ -66,7 +66,7 @@ export class ResponseFormatItem {
66
66
  }
67
67
  render() {
68
68
  return [
69
- h("div", { key: 'c3620eddb3e12eba09262f80997a56d83cf6cc83', class: "property-controls" }, h("div", { key: 'fea873463b097f78e65586956e3b235d123453b4', class: "property-path" }, h("limebb-property-selector", { key: '7a01e8d7723f00caecf23d71cf8795357200ad3e', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: this.item.path, required: true, onChange: this.handlePathChange }), h("div", { key: 'a8be4ce31636be8e2f55d222dd93efe4cc456178', class: "input-grid" }, this.renderAliasInput()), h("div", { key: '38e2c185b5c69feb2aa7b734a1b55786687b6459', class: "input-grid" }, this.renderDescriptionInput()), h("div", { key: '09310ff2237d191a20a8804cb011f10fc852e425', class: "button-group" }, this.renderAliasButton(), this.renderDescriptionButton())), h("limel-icon-button", { key: 'acc1b919770d035745e05f3811043ad189443566', icon: "trash", label: "Remove property", onClick: this.handleRemove })),
69
+ h("div", { key: '5f95a0ebd3f9eb632405f2bf8f1ac14a00042c5a', class: "property-controls" }, h("div", { key: '26d132043bf28e243749b97f7e5d3e439b2756dc', class: "property-path" }, h("limebb-property-selector", { key: '7c7616d91cd4a51648e22171ba921e7586b2e1f0', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: this.item.path, required: true, onChange: this.handlePathChange }), h("div", { key: '805a1a1776eaf1c1e46ebeabe899d6c0d0576043', class: "input-grid" }, this.renderAliasInput()), h("div", { key: 'd38b4d3b5d9e58a112dbadcf847102aa29659ddb', class: "input-grid" }, this.renderDescriptionInput()), h("div", { key: '7cecdf95dc03bc55ab267c8357139360cde63a1c', class: "button-group" }, this.renderAliasButton(), this.renderDescriptionButton())), h("limel-icon-button", { key: '1e98658175aa6c02abc647425c87f8f4e9680520', icon: "trash", label: "Remove property", onClick: this.handleRemove })),
70
70
  ];
71
71
  }
72
72
  renderAliasButton() {
@@ -5,8 +5,8 @@ import { h } from "@stencil/core";
5
5
  export class LiveDocsInfo {
6
6
  render() {
7
7
  return [
8
- h("div", { key: '3efd6c08d83684af5751402c71c46261028091a9', class: "header" }, h("limel-icon", { key: '53d32bf2c7cbd12ba662db1dd3b8fe3a1b6899ca', name: "not_showing_video_frames" }), h("h2", { key: 'ab7b687224626de7282bf7030e50f3feaddbf4d8' }, "Viewing this file type requires ", h("em", { key: '64c1c78850e17601a5f0aa00a5e95dd4192ab586' }, "Live Docs"))),
9
- h("p", { key: 'c0851a6b140415fda231da09e3dd14a39aa769d8' }, h("em", { key: '01b229e2cdaf62a6e9f95684d5824d15f72c03f8' }, "Live Docs"), " not only enables you to view many file formats such as Microsoft Office documents, but it also empowers you to edit them right in the CRM. No need to download anything on your device!", h("a", { key: 'f4d923dfac3420e068f6856754140749c5637937', target: "_blank", href: "https://www.lime-technologies.com/en/lime-crm/live-docs/" }, "Learn more")),
8
+ h("div", { key: 'c3152fe06ce8121b41d8cea5e2e072960f4f2dbd', class: "header" }, h("limel-icon", { key: '75ae76ece389f6b65ca9ae8b1859404e3c344f20', name: "not_showing_video_frames" }), h("h2", { key: '97ec2ce77d697daccdc32c0150be556e77e314c6' }, "Viewing this file type requires ", h("em", { key: '4a851090390b307193f2df2a4129ce9e661d3046' }, "Live Docs"))),
9
+ h("p", { key: 'f2326f85486bc9f8864b56bcee179eb5a2aeedd4' }, h("em", { key: 'c01d97bf47d22fa51b0955ca6dae2bfb48e3bcc6' }, "Live Docs"), " not only enables you to view many file formats such as Microsoft Office documents, but it also empowers you to edit them right in the CRM. No need to download anything on your device!", h("a", { key: '92719f5981b74442abcf951cd187236140d7e5b5', target: "_blank", href: "https://www.lime-technologies.com/en/lime-crm/live-docs/" }, "Learn more")),
10
10
  ];
11
11
  }
12
12
  static get is() { return "limebb-live-docs-info"; }
@@ -53,7 +53,7 @@ export class LocalePicker {
53
53
  const value = this.value;
54
54
  selectedOptions = options.find((option) => option.value === value);
55
55
  }
56
- return (h("limel-select", { key: '39da3645bcfe74e4bf4f0c9e80c4361a55a3d553', value: selectedOptions, options: sortBy(options, 'text'), helperText: this.helperText, label: this.label, required: this.required, disabled: this.disabled, readonly: this.readonly, onChange: this.handleChange, multiple: this.multipleChoice }));
56
+ return (h("limel-select", { key: '146ecba3fc26664d49336cb4576887caee2b7f9f', value: selectedOptions, options: sortBy(options, 'text'), helperText: this.helperText, label: this.label, required: this.required, disabled: this.disabled, readonly: this.readonly, onChange: this.handleChange, multiple: this.multipleChoice }));
57
57
  }
58
58
  static get is() { return "limebb-locale-picker"; }
59
59
  static get encapsulation() { return "shadow"; }
@@ -56,7 +56,7 @@ export class NotificationListItem {
56
56
  }
57
57
  render() {
58
58
  var _a, _b;
59
- return (h(Host, { key: '0c45f2a691bead68dfd4e0d3dcf22dc76118e778', id: this.item.id, class: {
59
+ return (h(Host, { key: 'b3568cd406313837db0baae97446cc00800e174c', id: this.item.id, class: {
60
60
  'is-clickable': this.isItemClickable(),
61
61
  'is-read': !!((_a = this.item) === null || _a === void 0 ? void 0 : _a.read),
62
62
  'is-selected': !!((_b = this.item) === null || _b === void 0 ? void 0 : _b.selected),
@@ -16,10 +16,25 @@ import { getElement, h } from "@stencil/core";
16
16
  *
17
17
  * @exampleComponent limebb-example-object-chip
18
18
  * @exampleComponent limebb-example-object-chip-icon-and-color-fallbacks
19
+ * @exampleComponent limebb-example-object-chip-size
19
20
  * @beta
20
21
  */
21
22
  export class ObjectChip {
22
23
  constructor() {
24
+ /**
25
+ * Platform instance. If not provided, the component will
26
+ * walk the DOM to find a parent with a platform.
27
+ *
28
+ * :::note
29
+ * The platform must be available when the component connects to
30
+ * the DOM, either as a prop or via a parent element. Changing
31
+ * the platform after the component has connected is not supported.
32
+ * :::
33
+ */
34
+ /**
35
+ * Defines the size of the chip.
36
+ */
37
+ this.size = 'default';
23
38
  this.data = { loadFailed: false };
24
39
  this.resolver = new ObjectResolver((data) => {
25
40
  this.data = data;
@@ -39,7 +54,7 @@ export class ObjectChip {
39
54
  return;
40
55
  }
41
56
  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 }));
57
+ return (h("limel-chip", { text: this.getChipText(), icon: icon, size: this.size, link: { href: getObjectUrl(this.limetype, this.objectid) }, loading: !this.data.limeobject && !this.data.loadFailed }));
43
58
  }
44
59
  getChipText() {
45
60
  var _a;
@@ -115,6 +130,26 @@ export class ObjectChip {
115
130
  "attribute": "objectid",
116
131
  "reflect": false
117
132
  },
133
+ "size": {
134
+ "type": "string",
135
+ "mutable": false,
136
+ "complexType": {
137
+ "original": "'small' | 'default'",
138
+ "resolved": "\"default\" | \"small\"",
139
+ "references": {}
140
+ },
141
+ "required": false,
142
+ "optional": false,
143
+ "docs": {
144
+ "tags": [],
145
+ "text": "Defines the size of the chip."
146
+ },
147
+ "getter": false,
148
+ "setter": false,
149
+ "attribute": "size",
150
+ "reflect": false,
151
+ "defaultValue": "'default'"
152
+ },
118
153
  "platform": {
119
154
  "type": "unknown",
120
155
  "mutable": false,
@@ -133,7 +168,7 @@ export class ObjectChip {
133
168
  "optional": true,
134
169
  "docs": {
135
170
  "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:::"
171
+ "text": ""
137
172
  },
138
173
  "getter": false,
139
174
  "setter": false
@@ -91,11 +91,11 @@ export class PercentageVisualizer {
91
91
  render() {
92
92
  const normalizedValue = this.getNormalizedValue();
93
93
  const zeroPoint = this.getZeroPointPosition();
94
- return (h(Host, { key: '456afa7a4dfec41b7d293518d3150fa520c76c87', class: this.getContainerClassList(), style: {
94
+ return (h(Host, { key: '0546d64013773f4c73fee3fffc7a9679ef6c95c5', class: this.getContainerClassList(), style: {
95
95
  '--limebb-percentage-visualizer-zero-point-position': `${zeroPoint}%`,
96
96
  '--limebb-percentage-visualizer-width': `${Math.abs(normalizedValue)}%`,
97
97
  '--limebb-percentage-visualizer-rotate': `${normalizedValue >= 0 ? '0deg' : '180deg'}`,
98
- } }, h("limel-notched-outline", { key: 'ffdc013e98a23f690ff17adf6834f280aa824886', tabIndex: 0, role: "meter", "aria-valuemin": this.rangeMin, "aria-valuemax": this.rangeMax, "aria-valuenow": this.numValue, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-controls": this.helperTextId }, h("div", { key: '574b107be7e7fc941e957365fc8b2b7f5a6bd5bf', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
98
+ } }, h("limel-notched-outline", { key: 'df29f109a2d606b2b8d724e92be4161f19d8e025', tabIndex: 0, role: "meter", "aria-valuemin": this.rangeMin, "aria-valuemax": this.rangeMax, "aria-valuenow": this.numValue, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-controls": this.helperTextId }, h("div", { key: '7a4f7c2fb608f0006e3963e5d6d0eaefba0ecbbe', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
99
99
  }
100
100
  renderVisualization() {
101
101
  if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {
@@ -1,4 +1,6 @@
1
1
  import { h } from "@stencil/core";
2
+ import { getPreviewType } from "../limeobject/file-viewer/extension-mapping";
3
+ import { getFileExtension } from "../../util/file-extension";
2
4
  /**
3
5
  * This component uses
4
6
  * [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)
@@ -56,6 +58,7 @@ import { h } from "@stencil/core";
56
58
  *
57
59
  * @exampleComponent limebb-example-summary-popover-basic
58
60
  * @exampleComponent limebb-example-summary-popover-image
61
+ * @exampleComponent limebb-example-summary-popover-file-preview
59
62
  * @exampleComponent limebb-example-summary-popover-actions
60
63
  * @exampleComponent limebb-example-summary-popover-trigger-delay
61
64
  *
@@ -125,14 +128,34 @@ export class SummaryPopover {
125
128
  top: '0.125rem',
126
129
  right: '0.125rem',
127
130
  };
128
- return (h("limel-popover", { key: 'fb257457f12e1b4711a40a8507bcbe4317edace2', style: {
131
+ return (h("limel-popover", { key: '26159e81e1fd3547fe0f9b59f5edd9144778cc15', style: {
129
132
  '--limebb-summary-popover-timeout': `${this.triggerDelay}ms`,
130
- }, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("div", { key: '10ecbea67152f6e3c6102d01c28c3aceb13427a0', slot: "trigger", onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocusin: this.openPopoverWithDelay }, h("slot", { key: 'bd545c3365ed44a60a7427bb8767c7373ce6a177', name: "trigger" }), h("div", { key: '0a537eca8171d183b693549158acfb29f099ee7f', class: "opening-countdown-indicator" })), h("limel-card", { key: '8befb62c7d075284e9fd0af373ae00e2c54ac058', style: {
133
+ }, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("div", { key: '5f6c72787f4dafebbce1428da6ba1515ecce451e', slot: "trigger", onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocusin: this.openPopoverWithDelay }, h("slot", { key: '4a5d186f511a245d6d4c48df754add7eaf3380df', name: "trigger" }), h("div", { key: '64a9db4b3ff460b84345a60b9efccc80aa75a2cd', class: "opening-countdown-indicator" })), this.renderCard(closeButtonStyle)));
134
+ }
135
+ renderCard(closeButtonStyle) {
136
+ return (h("limel-card", { style: {
131
137
  'max-width': this.popoverMaxWidth,
132
138
  'max-height': this.popoverMaxHeight,
133
139
  'min-width': '7rem',
134
140
  'min-height': '3rem',
135
- }, orientation: "landscape", heading: this.heading, subheading: this.subheading, icon: this.icon, value: this.value, image: this.image, actions: this.actions, onActionSelected: this.handleSelected }, h("limebb-navigation-button", { key: '699c17c2d51575f4c82fa9bbc4dcc9a96a495eee', slot: "component", type: "close", style: closeButtonStyle, tooltipLabel: "Close", tooltipHelperLabel: "Esc", onClick: this.handleCloseClick }))));
141
+ }, orientation: "landscape", heading: this.heading, subheading: this.subheading, icon: this.icon, value: this.value, image: this.image, actions: this.actions, onActionSelected: this.handleSelected }, this.renderFileViewer(), h("limebb-navigation-button", { slot: "component", type: "close", style: closeButtonStyle, tooltipLabel: "Close", tooltipHelperLabel: "Esc", onClick: this.handleCloseClick })));
142
+ }
143
+ renderFileViewer() {
144
+ var _a;
145
+ if (!this.file) {
146
+ return;
147
+ }
148
+ const extension = getFileExtension((_a = this.file.filename) !== null && _a !== void 0 ? _a : '');
149
+ const previewType = getPreviewType(extension);
150
+ const isUnsupported = previewType === 'sharepoint' || previewType === 'unsupported';
151
+ const isPdf = extension === 'pdf';
152
+ const style = {
153
+ flex: '1',
154
+ overflow: 'hidden',
155
+ borderRadius: '0.5rem',
156
+ minHeight: isPdf ? '20rem' : undefined,
157
+ };
158
+ return (h("limel-file-viewer", { slot: "component", style: style, url: this.file.href, filename: isUnsupported ? undefined : this.file.filename }));
136
159
  }
137
160
  static get is() { return "limebb-summary-popover"; }
138
161
  static get encapsulation() { return "shadow"; }
@@ -229,6 +252,29 @@ export class SummaryPopover {
229
252
  "getter": false,
230
253
  "setter": false
231
254
  },
255
+ "file": {
256
+ "type": "unknown",
257
+ "mutable": false,
258
+ "complexType": {
259
+ "original": "FileInfo",
260
+ "resolved": "FileInfo | undefined",
261
+ "references": {
262
+ "FileInfo": {
263
+ "location": "import",
264
+ "path": "@limetech/lime-elements",
265
+ "id": "node_modules::FileInfo"
266
+ }
267
+ }
268
+ },
269
+ "required": false,
270
+ "optional": true,
271
+ "docs": {
272
+ "tags": [],
273
+ "text": "A file to preview in the popover.\nWhen provided, a `limel-file-viewer` is rendered\ninside the card alongside any other card content."
274
+ },
275
+ "getter": false,
276
+ "setter": false
277
+ },
232
278
  "icon": {
233
279
  "type": "string",
234
280
  "mutable": false,
@@ -13,8 +13,8 @@ export class MentionGroupCounter {
13
13
  render() {
14
14
  const label = this.getLabel();
15
15
  return [
16
- h("span", { key: 'cccb4a58450a0f1d5b2a81f99fc8252f92b8abb2', id: this.tooltipId }, label),
17
- h("limel-tooltip", { key: 'cf8819b1b5318c1ee4ce210f78132be0388db3e6', elementId: this.tooltipId, label: label, helperLabel: this.helperLabel }),
16
+ h("span", { key: 'c4ad6f97f70c527ff27ed51ab61e99cb16cb23bd', id: this.tooltipId }, label),
17
+ h("limel-tooltip", { key: '0d8e7488f6974d7012eb15ae36bb212dbcfad367', elementId: this.tooltipId, label: label, helperLabel: this.helperLabel }),
18
18
  ];
19
19
  }
20
20
  getLabel() {