@limetech/lime-crm-building-blocks 1.113.4 → 1.114.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 (177) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/extension-mapping-63bdafd3.js +57 -0
  3. package/dist/cjs/file-extension-7c2eae39.js +22 -0
  4. package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
  5. package/dist/cjs/limebb-document-chips.cjs.entry.js +407 -0
  6. package/dist/cjs/limebb-document-item.cjs.entry.js +2 -2
  7. package/dist/cjs/limebb-document-picker.cjs.entry.js +1 -1
  8. package/dist/cjs/limebb-feed-item-thumbnail-file-info.cjs.entry.js +1 -1
  9. package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +1 -1
  10. package/dist/cjs/limebb-feed.cjs.entry.js +1 -1
  11. package/dist/cjs/limebb-icon-picker.cjs.entry.js +1 -1
  12. package/dist/cjs/limebb-info-tile-format.cjs.entry.js +1 -1
  13. package/dist/cjs/limebb-info-tile.cjs.entry.js +1 -1
  14. package/dist/cjs/limebb-kanban-group.cjs.entry.js +1 -1
  15. package/dist/cjs/limebb-kanban-item.cjs.entry.js +1 -1
  16. package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +1 -1
  17. package/dist/cjs/limebb-lime-query-filter-builder_3.cjs.entry.js +2 -2
  18. package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +1 -1
  19. package/dist/cjs/limebb-lime-query-filter-group_3.cjs.entry.js +3 -3
  20. package/dist/cjs/limebb-lime-query-order-by-item.cjs.entry.js +2 -2
  21. package/dist/cjs/limebb-lime-query-response-format-builder.cjs.entry.js +1 -1
  22. package/dist/cjs/limebb-lime-query-response-format-editor_2.cjs.entry.js +1 -1
  23. package/dist/cjs/limebb-limeobject-file-viewer.cjs.entry.js +2 -55
  24. package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
  25. package/dist/cjs/limebb-locale-picker.cjs.entry.js +1 -1
  26. package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
  27. package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +25 -3
  28. package/dist/cjs/limebb-notification-item.cjs.entry.js +1 -1
  29. package/dist/cjs/limebb-object-chip.cjs.entry.js +1 -1
  30. package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +2 -2
  31. package/dist/cjs/limebb-text-editor.cjs.entry.js +1 -1
  32. package/dist/cjs/limebb-trend-indicator.cjs.entry.js +1 -1
  33. package/dist/cjs/loader.cjs.js +1 -1
  34. package/dist/collection/collection-manifest.json +1 -0
  35. package/dist/collection/components/document-chips/document-chips.css +20 -0
  36. package/dist/collection/components/document-chips/document-chips.js +178 -0
  37. package/dist/collection/components/document-chips/document-chips.types.js +1 -0
  38. package/dist/collection/components/document-picker/document-item/document-item.js +2 -2
  39. package/dist/collection/components/document-picker/document-picker.js +1 -1
  40. package/dist/collection/components/feed/feed-item/feed-timeline-item.js +1 -1
  41. package/dist/collection/components/feed/feed-item-thumbnail-file-info/feed-item-thumbnail-file-info.js +1 -1
  42. package/dist/collection/components/feed/feed.js +1 -1
  43. package/dist/collection/components/icon-picker/icon-picker.js +1 -1
  44. package/dist/collection/components/info-tile/format/config/info-tile-format.js +1 -1
  45. package/dist/collection/components/info-tile/info-tile.js +1 -1
  46. package/dist/collection/components/kanban/kanban-group/kanban-group.js +1 -1
  47. package/dist/collection/components/kanban/kanban-item/kanban-item.js +1 -1
  48. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +1 -1
  49. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js +2 -2
  50. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +1 -1
  51. package/dist/collection/components/lime-query-builder/lime-query-builder.js +1 -1
  52. package/dist/collection/components/lime-query-builder/lime-query-response-format-builder.js +1 -1
  53. package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +1 -1
  54. package/dist/collection/components/lime-query-builder/order-by/order-by-editor.js +1 -1
  55. package/dist/collection/components/lime-query-builder/order-by/order-by-item.js +2 -2
  56. package/dist/collection/components/lime-query-builder/response-format/response-format-item.js +1 -1
  57. package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
  58. package/dist/collection/components/locale-picker/locale-picker.js +1 -1
  59. package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
  60. package/dist/collection/components/object-chip/object-chip.css +1 -0
  61. package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
  62. package/dist/collection/components/summary-popover/summary-popover.js +49 -3
  63. package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
  64. package/dist/collection/components/text-editor/text-editor.js +1 -1
  65. package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
  66. package/dist/collection/util/file-extension.js +18 -0
  67. package/dist/collection/util/file-icon-background-colors.js +98 -0
  68. package/dist/collection/util/file-icon-fill-colors.js +98 -0
  69. package/dist/collection/util/file-icon.js +18 -0
  70. package/dist/collection/util/file-icons.js +99 -0
  71. package/dist/components/document-item.js +2 -2
  72. package/dist/components/extension-mapping.js +55 -0
  73. package/dist/components/feed-item-thumbnail-file-info.js +1 -1
  74. package/dist/components/feed-timeline-item.js +1 -1
  75. package/dist/components/kanban-group.js +1 -1
  76. package/dist/components/kanban-item.js +1 -1
  77. package/dist/components/lime-query-filter-comparison.js +1 -1
  78. package/dist/components/lime-query-filter-expression.js +3 -3
  79. package/dist/components/limebb-document-chips.d.ts +11 -0
  80. package/dist/components/limebb-document-chips.js +437 -0
  81. package/dist/components/limebb-document-picker.js +1 -1
  82. package/dist/components/limebb-feed.js +1 -1
  83. package/dist/components/limebb-icon-picker.js +1 -1
  84. package/dist/components/limebb-info-tile-format.js +1 -1
  85. package/dist/components/limebb-info-tile.js +1 -1
  86. package/dist/components/limebb-lime-query-builder.js +1 -1
  87. package/dist/components/limebb-lime-query-response-format-builder.js +1 -1
  88. package/dist/components/limebb-limeobject-file-viewer.js +1 -54
  89. package/dist/components/limebb-locale-picker.js +1 -1
  90. package/dist/components/limebb-mention-group-counter.js +2 -2
  91. package/dist/components/limebb-object-chip.js +1 -1
  92. package/dist/components/limebb-text-editor.js +1 -1
  93. package/dist/components/limebb-trend-indicator.js +1 -1
  94. package/dist/components/limetype-field.js +1 -1
  95. package/dist/components/live-docs-info.js +2 -2
  96. package/dist/components/notification-item.js +1 -1
  97. package/dist/components/order-by-editor.js +1 -1
  98. package/dist/components/order-by-item.js +2 -2
  99. package/dist/components/percentage-visualizer.js +2 -2
  100. package/dist/components/response-format-item.js +1 -1
  101. package/dist/components/summary-popover.js +45 -4
  102. package/dist/esm/extension-mapping-fcade195.js +55 -0
  103. package/dist/esm/file-extension-568475d1.js +20 -0
  104. package/dist/esm/lime-crm-building-blocks.js +1 -1
  105. package/dist/esm/limebb-document-chips.entry.js +403 -0
  106. package/dist/esm/limebb-document-item.entry.js +2 -2
  107. package/dist/esm/limebb-document-picker.entry.js +1 -1
  108. package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
  109. package/dist/esm/limebb-feed-timeline-item.entry.js +1 -1
  110. package/dist/esm/limebb-feed.entry.js +1 -1
  111. package/dist/esm/limebb-icon-picker.entry.js +1 -1
  112. package/dist/esm/limebb-info-tile-format.entry.js +1 -1
  113. package/dist/esm/limebb-info-tile.entry.js +1 -1
  114. package/dist/esm/limebb-kanban-group.entry.js +1 -1
  115. package/dist/esm/limebb-kanban-item.entry.js +1 -1
  116. package/dist/esm/limebb-lime-query-builder.entry.js +1 -1
  117. package/dist/esm/limebb-lime-query-filter-builder_3.entry.js +2 -2
  118. package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +1 -1
  119. package/dist/esm/limebb-lime-query-filter-group_3.entry.js +3 -3
  120. package/dist/esm/limebb-lime-query-order-by-item.entry.js +2 -2
  121. package/dist/esm/limebb-lime-query-response-format-builder.entry.js +1 -1
  122. package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +1 -1
  123. package/dist/esm/limebb-limeobject-file-viewer.entry.js +1 -54
  124. package/dist/esm/limebb-live-docs-info.entry.js +2 -2
  125. package/dist/esm/limebb-locale-picker.entry.js +1 -1
  126. package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
  127. package/dist/esm/limebb-navigation-button_2.entry.js +25 -3
  128. package/dist/esm/limebb-notification-item.entry.js +1 -1
  129. package/dist/esm/limebb-object-chip.entry.js +1 -1
  130. package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
  131. package/dist/esm/limebb-text-editor.entry.js +1 -1
  132. package/dist/esm/limebb-trend-indicator.entry.js +1 -1
  133. package/dist/esm/loader.js +1 -1
  134. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  135. package/dist/lime-crm-building-blocks/{p-0c25d565.entry.js → p-0d0f4c0f.entry.js} +1 -1
  136. package/dist/lime-crm-building-blocks/{p-35b75e49.entry.js → p-18d1ab86.entry.js} +1 -1
  137. package/dist/lime-crm-building-blocks/{p-551ffa9f.entry.js → p-1e3e06be.entry.js} +1 -1
  138. package/dist/lime-crm-building-blocks/{p-ddf0dcbc.entry.js → p-20b5ff30.entry.js} +1 -1
  139. package/dist/lime-crm-building-blocks/{p-b2e705bc.entry.js → p-22fffe85.entry.js} +1 -1
  140. package/dist/lime-crm-building-blocks/{p-83ff2b4c.entry.js → p-2ed843e9.entry.js} +1 -1
  141. package/dist/lime-crm-building-blocks/{p-14cd62c1.entry.js → p-375f40d9.entry.js} +1 -1
  142. package/dist/lime-crm-building-blocks/{p-c09dcd4c.entry.js → p-3a7b37cc.entry.js} +1 -1
  143. package/dist/lime-crm-building-blocks/{p-3443a292.entry.js → p-3b3e7328.entry.js} +1 -1
  144. package/dist/lime-crm-building-blocks/{p-a4f367f8.entry.js → p-4dad4ce8.entry.js} +1 -1
  145. package/dist/lime-crm-building-blocks/p-50aad872.entry.js +1 -0
  146. package/dist/lime-crm-building-blocks/{p-9161869b.entry.js → p-53d54dc8.entry.js} +1 -1
  147. package/dist/lime-crm-building-blocks/{p-1d44c670.entry.js → p-6bd5c65f.entry.js} +1 -1
  148. package/dist/lime-crm-building-blocks/p-6bf1ab6d.entry.js +1 -0
  149. package/dist/lime-crm-building-blocks/{p-0536bf83.entry.js → p-7a6c1595.entry.js} +1 -1
  150. package/dist/lime-crm-building-blocks/{p-9aad6195.entry.js → p-7b5a1e83.entry.js} +1 -1
  151. package/dist/lime-crm-building-blocks/{p-df13ebba.entry.js → p-812bf26e.entry.js} +1 -1
  152. package/dist/lime-crm-building-blocks/{p-385020b4.entry.js → p-81f8e5df.entry.js} +1 -1
  153. package/dist/lime-crm-building-blocks/{p-4d9244e7.entry.js → p-94e6f0de.entry.js} +1 -1
  154. package/dist/lime-crm-building-blocks/{p-6c67ed0e.entry.js → p-9bc5caac.entry.js} +1 -1
  155. package/dist/lime-crm-building-blocks/{p-283a6f9e.entry.js → p-9c204549.entry.js} +1 -1
  156. package/dist/lime-crm-building-blocks/{p-00414464.entry.js → p-a7e55181.entry.js} +1 -1
  157. package/dist/lime-crm-building-blocks/p-ab2a95a6.js +1 -0
  158. package/dist/lime-crm-building-blocks/p-b42e9740.js +1 -0
  159. package/dist/lime-crm-building-blocks/{p-5d0874f6.entry.js → p-d5b835a6.entry.js} +1 -1
  160. package/dist/lime-crm-building-blocks/p-d7fc530f.entry.js +1 -0
  161. package/dist/lime-crm-building-blocks/{p-401ccdec.entry.js → p-d9f76810.entry.js} +1 -1
  162. package/dist/lime-crm-building-blocks/{p-2395476f.entry.js → p-dddd8a43.entry.js} +1 -1
  163. package/dist/lime-crm-building-blocks/{p-77ef7ad1.entry.js → p-ed14ca30.entry.js} +1 -1
  164. package/dist/lime-crm-building-blocks/{p-711df3e6.entry.js → p-f8520955.entry.js} +1 -1
  165. package/dist/types/components/document-chips/document-chips.d.ts +45 -0
  166. package/dist/types/components/document-chips/document-chips.types.d.ts +23 -0
  167. package/dist/types/components/summary-popover/summary-popover.d.ts +10 -1
  168. package/dist/types/components.d.ts +110 -0
  169. package/dist/types/interface.d.ts +1 -0
  170. package/dist/types/util/file-extension.d.ts +10 -0
  171. package/dist/types/util/file-icon-background-colors.d.ts +3 -0
  172. package/dist/types/util/file-icon-fill-colors.d.ts +3 -0
  173. package/dist/types/util/file-icon.d.ts +9 -0
  174. package/dist/types/util/file-icons.d.ts +3 -0
  175. package/package.json +2 -2
  176. package/dist/lime-crm-building-blocks/p-7b9981b9.entry.js +0 -1
  177. package/dist/lime-crm-building-blocks/p-d2bd2fc3.entry.js +0 -1
@@ -0,0 +1,437 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { g as getPreviewType } from './extension-mapping.js';
3
+ import { g as getFileExtension, d as defineCustomElement$2 } from './summary-popover.js';
4
+ import { d as defineCustomElement$3 } from './navigation-button.js';
5
+
6
+ // Copy of file icon names from lime-elements.
7
+ // Source: lime-elements/src/components/file/icons.ts
8
+ //
9
+ // Stencil doesn't support exporting utility functions from a component
10
+ // library, so we duplicate them here until a proper shared solution exists.
11
+ const DEFAULT_ICON = 'file';
12
+ const CALENDAR_ICON = 'tear_off_calendar';
13
+ const EMAIL_ICON = 'email';
14
+ const HTML_ICON = 'internet';
15
+ const TEXT_ICON = 'text_box';
16
+ const EXCEL_ICON = 'ms_excel_copyrighted';
17
+ const WORD_ICON = 'ms_word_copyrighted';
18
+ const POWERPOINT_ICON = 'ms_powerpoint_copyrighted';
19
+ const IMAGE_ICON = 'picture';
20
+ const PHOTO_ICON = 'camera';
21
+ const VECTOR_GRAPHIC_ICON = 'vector';
22
+ const PRESENTATION_ICON = 'presentation_filled';
23
+ const DOCUMENT_ICON = 'overview_pages_2';
24
+ const SPREADSHEET_ICON = 'data_sheet';
25
+ const AUDIO_ICON = 'audio_wave';
26
+ const VIDEO_ICON = 'video_file';
27
+ const COMPRESSED_ICON = 'condom_package';
28
+ const MESSAGE_ICON = 'ms_outlook_copyrighted';
29
+ const DATA_ICON = 'database';
30
+ const DEFAULT_FILE_ICON = DEFAULT_ICON;
31
+ const filetypeIconTable = {
32
+ msg: MESSAGE_ICON,
33
+ ics: CALENDAR_ICON,
34
+ ical: CALENDAR_ICON,
35
+ icalendar: CALENDAR_ICON,
36
+ ifb: CALENDAR_ICON,
37
+ email: EMAIL_ICON,
38
+ eml: EMAIL_ICON,
39
+ oft: EMAIL_ICON,
40
+ ost: EMAIL_ICON,
41
+ emlx: EMAIL_ICON,
42
+ html: HTML_ICON,
43
+ xml: HTML_ICON,
44
+ txt: TEXT_ICON,
45
+ rtf: TEXT_ICON,
46
+ dot: WORD_ICON,
47
+ doc: WORD_ICON,
48
+ docx: WORD_ICON,
49
+ dotx: WORD_ICON,
50
+ docm: WORD_ICON,
51
+ dotm: WORD_ICON,
52
+ odt: DOCUMENT_ICON,
53
+ pages: DOCUMENT_ICON,
54
+ pdf: 'PDF_2',
55
+ ppt: POWERPOINT_ICON,
56
+ pot: POWERPOINT_ICON,
57
+ pps: POWERPOINT_ICON,
58
+ pptx: POWERPOINT_ICON,
59
+ pptm: POWERPOINT_ICON,
60
+ potx: POWERPOINT_ICON,
61
+ potm: POWERPOINT_ICON,
62
+ ppam: POWERPOINT_ICON,
63
+ ppsx: POWERPOINT_ICON,
64
+ ppsm: POWERPOINT_ICON,
65
+ sldx: POWERPOINT_ICON,
66
+ sldm: POWERPOINT_ICON,
67
+ odp: PRESENTATION_ICON,
68
+ key: PRESENTATION_ICON,
69
+ xls: EXCEL_ICON,
70
+ xlsx: EXCEL_ICON,
71
+ csv: SPREADSHEET_ICON,
72
+ numbers: SPREADSHEET_ICON,
73
+ jpg: PHOTO_ICON,
74
+ jpeg: PHOTO_ICON,
75
+ heic: PHOTO_ICON,
76
+ bmp: IMAGE_ICON,
77
+ png: IMAGE_ICON,
78
+ gif: IMAGE_ICON,
79
+ psd: 'adobe_photoshop_copyrighted',
80
+ ai: 'adobe_illustrator_copyrighted',
81
+ svg: VECTOR_GRAPHIC_ICON,
82
+ svgz: VECTOR_GRAPHIC_ICON,
83
+ ep: VECTOR_GRAPHIC_ICON,
84
+ eps: VECTOR_GRAPHIC_ICON,
85
+ sketch: VECTOR_GRAPHIC_ICON,
86
+ mp3: AUDIO_ICON,
87
+ wav: AUDIO_ICON,
88
+ wma: AUDIO_ICON,
89
+ ogg: AUDIO_ICON,
90
+ avi: VIDEO_ICON,
91
+ flv: VIDEO_ICON,
92
+ h264: VIDEO_ICON,
93
+ mov: VIDEO_ICON,
94
+ mp4: VIDEO_ICON,
95
+ mwv: VIDEO_ICON,
96
+ zip: COMPRESSED_ICON,
97
+ '7z': COMPRESSED_ICON,
98
+ rar: COMPRESSED_ICON,
99
+ json: 'json',
100
+ yaml: DATA_ICON,
101
+ sql: DATA_ICON,
102
+ db: DATA_ICON,
103
+ dbf: DATA_ICON,
104
+ };
105
+
106
+ // Copy of file icon fill colors from lime-elements.
107
+ // Source: lime-elements/src/components/file/icon-fill-colors.ts
108
+ //
109
+ // Stencil doesn't support exporting utility functions from a component
110
+ // library, so we duplicate them here until a proper shared solution exists.
111
+ const DEFAULT_ICON_FILL_COLOR = 'rgb(var(--color-gray-dark))';
112
+ const CALENDAR_ICON_FILL_COLOR = 'rgb(var(--color-cyan-dark))';
113
+ const EMAIL_ICON_FILL_COLOR = 'rgb(var(--color-gray-dark))';
114
+ const HTML_ICON_FILL_COLOR = 'rgb(var(--color-blue-dark))';
115
+ const TEXT_ICON_FILL_COLOR = 'rgb(var(--color-yellow-darker))';
116
+ const EXCEL_ICON_FILL_COLOR = 'rgb(var(--color-green-dark))';
117
+ const POWERPOINT_ICON_FILL_COLOR = 'rgb(var(--color-coral-dark))';
118
+ const WORD_ICON_FILL_COLOR = 'rgb(var(--color-sky-dark))';
119
+ const IMAGE_ICON_FILL_COLOR = 'rgb(var(--color-lime-dark))';
120
+ const VECTOR_GRAPHIC_FILL_COLOR = 'rgb(var(--color-magenta-dark))';
121
+ const PRESENTATION_ICON_FILL_COLOR = 'rgb(var(--color-blue-dark))';
122
+ const DOCUMENT_ICON_FILL_COLOR = 'rgb(var(--color-orange-dark))';
123
+ const SPREADSHEET_ICON_FILL_COLOR = 'rgb(var(--color-green-dark))';
124
+ const AUDIO_ICON_FILL_COLOR = 'rgb(var(--color-indigo-dark))';
125
+ const VIDEO_ICON_FILL_COLOR = 'rgb(var(--color-red-dark))';
126
+ const COMPRESSED_ICON_FILL_COLOR = 'rgb(var(--color-brown-default))';
127
+ const MESSAGE_ICON_FILL_COLOR = 'rgb(var(--color-yellow-dark))';
128
+ const PDF_ICON_FILL_COLOR = 'rgb(var(--color-red-dark))';
129
+ const DATA_ICON_FILL_COLOR = 'rgb(var(--color-glaucous-dark))';
130
+ const DEFAULT_ICON_FILL = DEFAULT_ICON_FILL_COLOR;
131
+ const filetypeFillColorTable = {
132
+ msg: MESSAGE_ICON_FILL_COLOR,
133
+ ics: CALENDAR_ICON_FILL_COLOR,
134
+ ical: CALENDAR_ICON_FILL_COLOR,
135
+ icalendar: CALENDAR_ICON_FILL_COLOR,
136
+ ifb: CALENDAR_ICON_FILL_COLOR,
137
+ email: EMAIL_ICON_FILL_COLOR,
138
+ eml: EMAIL_ICON_FILL_COLOR,
139
+ oft: EMAIL_ICON_FILL_COLOR,
140
+ ost: EMAIL_ICON_FILL_COLOR,
141
+ emlx: EMAIL_ICON_FILL_COLOR,
142
+ html: HTML_ICON_FILL_COLOR,
143
+ xml: HTML_ICON_FILL_COLOR,
144
+ txt: TEXT_ICON_FILL_COLOR,
145
+ rtf: TEXT_ICON_FILL_COLOR,
146
+ dot: WORD_ICON_FILL_COLOR,
147
+ doc: WORD_ICON_FILL_COLOR,
148
+ docx: WORD_ICON_FILL_COLOR,
149
+ dotx: WORD_ICON_FILL_COLOR,
150
+ docm: WORD_ICON_FILL_COLOR,
151
+ dotm: WORD_ICON_FILL_COLOR,
152
+ odt: DOCUMENT_ICON_FILL_COLOR,
153
+ pages: DOCUMENT_ICON_FILL_COLOR,
154
+ pdf: PDF_ICON_FILL_COLOR,
155
+ ppt: POWERPOINT_ICON_FILL_COLOR,
156
+ pot: POWERPOINT_ICON_FILL_COLOR,
157
+ pps: POWERPOINT_ICON_FILL_COLOR,
158
+ pptx: POWERPOINT_ICON_FILL_COLOR,
159
+ pptm: POWERPOINT_ICON_FILL_COLOR,
160
+ potx: POWERPOINT_ICON_FILL_COLOR,
161
+ potm: POWERPOINT_ICON_FILL_COLOR,
162
+ ppam: POWERPOINT_ICON_FILL_COLOR,
163
+ ppsx: POWERPOINT_ICON_FILL_COLOR,
164
+ ppsm: POWERPOINT_ICON_FILL_COLOR,
165
+ sldx: POWERPOINT_ICON_FILL_COLOR,
166
+ sldm: POWERPOINT_ICON_FILL_COLOR,
167
+ odp: PRESENTATION_ICON_FILL_COLOR,
168
+ key: PRESENTATION_ICON_FILL_COLOR,
169
+ xls: EXCEL_ICON_FILL_COLOR,
170
+ xlsx: EXCEL_ICON_FILL_COLOR,
171
+ csv: DEFAULT_ICON_FILL_COLOR,
172
+ numbers: SPREADSHEET_ICON_FILL_COLOR,
173
+ bmp: IMAGE_ICON_FILL_COLOR,
174
+ jpg: IMAGE_ICON_FILL_COLOR,
175
+ jpeg: IMAGE_ICON_FILL_COLOR,
176
+ heic: IMAGE_ICON_FILL_COLOR,
177
+ png: IMAGE_ICON_FILL_COLOR,
178
+ gif: IMAGE_ICON_FILL_COLOR,
179
+ psd: PRESENTATION_ICON_FILL_COLOR,
180
+ ai: DOCUMENT_ICON_FILL_COLOR,
181
+ svg: VECTOR_GRAPHIC_FILL_COLOR,
182
+ svgz: VECTOR_GRAPHIC_FILL_COLOR,
183
+ ep: VECTOR_GRAPHIC_FILL_COLOR,
184
+ eps: VECTOR_GRAPHIC_FILL_COLOR,
185
+ sketch: VECTOR_GRAPHIC_FILL_COLOR,
186
+ mp3: AUDIO_ICON_FILL_COLOR,
187
+ wav: AUDIO_ICON_FILL_COLOR,
188
+ wma: AUDIO_ICON_FILL_COLOR,
189
+ ogg: AUDIO_ICON_FILL_COLOR,
190
+ flv: VIDEO_ICON_FILL_COLOR,
191
+ h264: VIDEO_ICON_FILL_COLOR,
192
+ mov: VIDEO_ICON_FILL_COLOR,
193
+ mp4: VIDEO_ICON_FILL_COLOR,
194
+ mwv: VIDEO_ICON_FILL_COLOR,
195
+ zip: COMPRESSED_ICON_FILL_COLOR,
196
+ '7z': COMPRESSED_ICON_FILL_COLOR,
197
+ rar: COMPRESSED_ICON_FILL_COLOR,
198
+ json: DATA_ICON_FILL_COLOR,
199
+ yaml: DATA_ICON_FILL_COLOR,
200
+ sql: DATA_ICON_FILL_COLOR,
201
+ db: DATA_ICON_FILL_COLOR,
202
+ dbf: DATA_ICON_FILL_COLOR,
203
+ };
204
+
205
+ // Copy of file icon background colors from lime-elements.
206
+ // Source: lime-elements/src/components/file/icon-background-colors.ts
207
+ //
208
+ // Stencil doesn't support exporting utility functions from a component
209
+ // library, so we duplicate them here until a proper shared solution exists.
210
+ const DEFAULT_ICON_BACKGROUND_COLOR = 'rgba(var(--color-gray-lighter), 0.4)';
211
+ const CALENDAR_ICON_BACKGROUND_COLOR = 'rgba(var(--color-cyan-lighter), 0.4)';
212
+ const EMAIL_ICON_BACKGROUND_COLOR = 'rgba(var(--color-gray-lighter), 0.4)';
213
+ const HTML_ICON_BACKGROUND_COLOR = 'rgba(var(--color-blue-lighter), 0.4)';
214
+ const TEXT_ICON_BACKGROUND_COLOR = 'rgba(var(--color-yellow-lighter), 0.4)';
215
+ const EXCEL_ICON_BACKGROUND_COLOR = 'rgba(var(--color-green-lighter), 0.4)';
216
+ const POWERPOINT_ICON_BACKGROUND_COLOR = 'rgba(var(--color-coral-lighter), 0.4)';
217
+ const WORD_ICON_BACKGROUND_COLOR = 'rgba(var(--color-sky-lighter), 0.4)';
218
+ const IMAGE_ICON_BACKGROUND_COLOR = 'rgba(var(--color-lime-lighter), 0.4)';
219
+ const VECTOR_GRAPHIC_ICON_BACKGROUND_COLOR = 'rgba(var(--color-magenta-lighter), 0.4)';
220
+ const PRESENTATION_BACKGROUND_COLOR = 'rgba(var(--color-blue-lighter), 0.4)';
221
+ const DOCUMENT_ICON_BACKGROUND_COLOR = 'rgba(var(--color-orange-lighter), 0.4)';
222
+ const SPREADSHEET_ICON_BACKGROUND_COLOR = 'rgba(var(--color-green-lighter), 0.4)';
223
+ const AUDIO_ICON_BACKGROUND_COLOR = 'rgba(var(--color-indigo-lighter), 0.4)';
224
+ const VIDEO_ICON_BACKGROUND_COLOR = 'rgba(var(--color-red-lighter), 0.4)';
225
+ const COMPRESSED_ICON_BACKGROUND_COLOR = 'rgba(var(--color-orange-lighter), 0.4)';
226
+ const MESSAGE_ICON_BACKGROUND_COLOR = 'rgba(var(--color-yellow-lighter), 0.4)';
227
+ const PDF_ICON_BACKGROUND_COLOR = 'rgba(var(--color-red-lighter), 0.4)';
228
+ const DATA_ICON_BACKGROUND_COLOR = 'rgba(var(--color-glaucous-lighter), 0.4)';
229
+ const DEFAULT_ICON_BACKGROUND = DEFAULT_ICON_BACKGROUND_COLOR;
230
+ const filetypeBackgroundColorTable = {
231
+ msg: MESSAGE_ICON_BACKGROUND_COLOR,
232
+ ics: CALENDAR_ICON_BACKGROUND_COLOR,
233
+ ical: CALENDAR_ICON_BACKGROUND_COLOR,
234
+ icalendar: CALENDAR_ICON_BACKGROUND_COLOR,
235
+ ifb: CALENDAR_ICON_BACKGROUND_COLOR,
236
+ email: EMAIL_ICON_BACKGROUND_COLOR,
237
+ eml: EMAIL_ICON_BACKGROUND_COLOR,
238
+ oft: EMAIL_ICON_BACKGROUND_COLOR,
239
+ ost: EMAIL_ICON_BACKGROUND_COLOR,
240
+ emlx: EMAIL_ICON_BACKGROUND_COLOR,
241
+ html: HTML_ICON_BACKGROUND_COLOR,
242
+ xml: HTML_ICON_BACKGROUND_COLOR,
243
+ txt: TEXT_ICON_BACKGROUND_COLOR,
244
+ rtf: TEXT_ICON_BACKGROUND_COLOR,
245
+ dot: WORD_ICON_BACKGROUND_COLOR,
246
+ doc: WORD_ICON_BACKGROUND_COLOR,
247
+ docx: WORD_ICON_BACKGROUND_COLOR,
248
+ dotx: WORD_ICON_BACKGROUND_COLOR,
249
+ docm: WORD_ICON_BACKGROUND_COLOR,
250
+ dotm: WORD_ICON_BACKGROUND_COLOR,
251
+ odt: DOCUMENT_ICON_BACKGROUND_COLOR,
252
+ pages: DOCUMENT_ICON_BACKGROUND_COLOR,
253
+ pdf: PDF_ICON_BACKGROUND_COLOR,
254
+ ppt: POWERPOINT_ICON_BACKGROUND_COLOR,
255
+ pot: POWERPOINT_ICON_BACKGROUND_COLOR,
256
+ pps: POWERPOINT_ICON_BACKGROUND_COLOR,
257
+ pptx: POWERPOINT_ICON_BACKGROUND_COLOR,
258
+ pptm: POWERPOINT_ICON_BACKGROUND_COLOR,
259
+ potx: POWERPOINT_ICON_BACKGROUND_COLOR,
260
+ potm: POWERPOINT_ICON_BACKGROUND_COLOR,
261
+ ppam: POWERPOINT_ICON_BACKGROUND_COLOR,
262
+ ppsx: POWERPOINT_ICON_BACKGROUND_COLOR,
263
+ ppsm: POWERPOINT_ICON_BACKGROUND_COLOR,
264
+ sldx: POWERPOINT_ICON_BACKGROUND_COLOR,
265
+ sldm: POWERPOINT_ICON_BACKGROUND_COLOR,
266
+ odp: PRESENTATION_BACKGROUND_COLOR,
267
+ key: PRESENTATION_BACKGROUND_COLOR,
268
+ xls: EXCEL_ICON_BACKGROUND_COLOR,
269
+ xlsx: EXCEL_ICON_BACKGROUND_COLOR,
270
+ csv: DEFAULT_ICON_BACKGROUND_COLOR,
271
+ numbers: SPREADSHEET_ICON_BACKGROUND_COLOR,
272
+ bmp: IMAGE_ICON_BACKGROUND_COLOR,
273
+ jpg: IMAGE_ICON_BACKGROUND_COLOR,
274
+ jpeg: IMAGE_ICON_BACKGROUND_COLOR,
275
+ heic: IMAGE_ICON_BACKGROUND_COLOR,
276
+ png: IMAGE_ICON_BACKGROUND_COLOR,
277
+ gif: IMAGE_ICON_BACKGROUND_COLOR,
278
+ psd: PRESENTATION_BACKGROUND_COLOR,
279
+ ai: DOCUMENT_ICON_BACKGROUND_COLOR,
280
+ svg: VECTOR_GRAPHIC_ICON_BACKGROUND_COLOR,
281
+ svgz: VECTOR_GRAPHIC_ICON_BACKGROUND_COLOR,
282
+ ep: VECTOR_GRAPHIC_ICON_BACKGROUND_COLOR,
283
+ eps: VECTOR_GRAPHIC_ICON_BACKGROUND_COLOR,
284
+ sketch: VECTOR_GRAPHIC_ICON_BACKGROUND_COLOR,
285
+ mp3: AUDIO_ICON_BACKGROUND_COLOR,
286
+ wav: AUDIO_ICON_BACKGROUND_COLOR,
287
+ wma: AUDIO_ICON_BACKGROUND_COLOR,
288
+ ogg: AUDIO_ICON_BACKGROUND_COLOR,
289
+ flv: VIDEO_ICON_BACKGROUND_COLOR,
290
+ h264: VIDEO_ICON_BACKGROUND_COLOR,
291
+ mov: VIDEO_ICON_BACKGROUND_COLOR,
292
+ mp4: VIDEO_ICON_BACKGROUND_COLOR,
293
+ mwv: VIDEO_ICON_BACKGROUND_COLOR,
294
+ zip: COMPRESSED_ICON_BACKGROUND_COLOR,
295
+ '7z': COMPRESSED_ICON_BACKGROUND_COLOR,
296
+ rar: COMPRESSED_ICON_BACKGROUND_COLOR,
297
+ json: DATA_ICON_BACKGROUND_COLOR,
298
+ yaml: DATA_ICON_BACKGROUND_COLOR,
299
+ sql: DATA_ICON_BACKGROUND_COLOR,
300
+ db: DATA_ICON_BACKGROUND_COLOR,
301
+ dbf: DATA_ICON_BACKGROUND_COLOR,
302
+ };
303
+
304
+ /**
305
+ * Returns an icon with name, fill color, and background color
306
+ * based on the file extension of the given filename.
307
+ *
308
+ * @param filename - the filename to get the icon for
309
+ */
310
+ function getFileIcon(filename) {
311
+ const extension = getFileExtension(filename);
312
+ return {
313
+ name: filetypeIconTable[extension] || DEFAULT_FILE_ICON,
314
+ color: filetypeFillColorTable[extension] || DEFAULT_ICON_FILL,
315
+ backgroundColor: filetypeBackgroundColorTable[extension] || DEFAULT_ICON_BACKGROUND,
316
+ };
317
+ }
318
+
319
+ const documentChipsCss = ":host(limebb-document-chips){box-sizing:border-box;display:flex;flex-wrap:wrap;gap:0.25rem;width:100%}*{box-sizing:border-box;min-width:0}limebb-summary-popover{max-width:100%}limel-chip{max-width:18rem}";
320
+ const LimebbDocumentChipsStyle0 = documentChipsCss;
321
+
322
+ const DocumentChips = /*@__PURE__*/ proxyCustomElement(class DocumentChips extends HTMLElement {
323
+ constructor() {
324
+ super();
325
+ this.__registerHost();
326
+ this.__attachShadow();
327
+ this.removeFile = createEvent(this, "removeFile", 7);
328
+ /**
329
+ * The list of files to display as document chips.
330
+ */
331
+ this.files = [];
332
+ this.blobUrls = new Map();
333
+ this.handleRemove = (event) => {
334
+ event.stopPropagation();
335
+ const fileId = event.detail;
336
+ this.revokeBlobUrl(fileId);
337
+ this.removeFile.emit(fileId);
338
+ };
339
+ }
340
+ onFilesChanged(newFiles, oldFiles) {
341
+ const currentIds = new Set(newFiles.map((file) => file.id));
342
+ for (const file of oldFiles) {
343
+ if (!currentIds.has(file.id)) {
344
+ this.revokeBlobUrl(file.id);
345
+ }
346
+ }
347
+ }
348
+ disconnectedCallback() {
349
+ this.revokeAllBlobUrls();
350
+ }
351
+ render() {
352
+ return (h(Host, { key: '6c8347de35ccd6061c8fa282820210f6a3bcc2c8', role: "list", "aria-label": this.accessibleLabel }, this.files.map((file) => this.renderFile(file))));
353
+ }
354
+ renderFile(file) {
355
+ const isReady = !file.uploadState || file.uploadState === 'done';
356
+ const icon = this.getIcon(file);
357
+ 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'
358
+ ? file.uploadProgress
359
+ : undefined, loading: file.uploadState === 'added' ||
360
+ file.uploadState === 'finalizing', onRemove: this.handleRemove }));
361
+ if (!isReady) {
362
+ return chip;
363
+ }
364
+ return (h("limebb-summary-popover", { role: "listitem", file: Object.assign(Object.assign({}, file), { href: this.getPreviewUrl(file) }), popoverMaxWidth: "32rem", popoverMaxHeight: "32rem", triggerDelay: 1000 }, chip));
365
+ }
366
+ getIcon(file) {
367
+ if (file.icon) {
368
+ return file.icon;
369
+ }
370
+ return getFileIcon(file.filename);
371
+ }
372
+ getPreviewUrl(file) {
373
+ const extension = getFileExtension(file.filename);
374
+ const previewType = getPreviewType(extension);
375
+ if (previewType === 'sharepoint') {
376
+ return undefined;
377
+ }
378
+ if (file.href) {
379
+ return file.href;
380
+ }
381
+ if (file.fileContent) {
382
+ if (!this.blobUrls.has(file.id)) {
383
+ this.blobUrls.set(file.id, URL.createObjectURL(file.fileContent));
384
+ }
385
+ return this.blobUrls.get(file.id);
386
+ }
387
+ }
388
+ revokeBlobUrl(fileId) {
389
+ const url = this.blobUrls.get(fileId);
390
+ if (url) {
391
+ URL.revokeObjectURL(url);
392
+ this.blobUrls.delete(fileId);
393
+ }
394
+ }
395
+ revokeAllBlobUrls() {
396
+ for (const url of this.blobUrls.values())
397
+ URL.revokeObjectURL(url);
398
+ this.blobUrls.clear();
399
+ }
400
+ static get watchers() { return {
401
+ "files": ["onFilesChanged"]
402
+ }; }
403
+ static get style() { return LimebbDocumentChipsStyle0; }
404
+ }, [1, "limebb-document-chips", {
405
+ "accessibleLabel": [513, "accessible-label"],
406
+ "files": [16]
407
+ }, undefined, {
408
+ "files": ["onFilesChanged"]
409
+ }]);
410
+ function defineCustomElement$1() {
411
+ if (typeof customElements === "undefined") {
412
+ return;
413
+ }
414
+ const components = ["limebb-document-chips", "limebb-navigation-button", "limebb-summary-popover"];
415
+ components.forEach(tagName => { switch (tagName) {
416
+ case "limebb-document-chips":
417
+ if (!customElements.get(tagName)) {
418
+ customElements.define(tagName, DocumentChips);
419
+ }
420
+ break;
421
+ case "limebb-navigation-button":
422
+ if (!customElements.get(tagName)) {
423
+ defineCustomElement$3();
424
+ }
425
+ break;
426
+ case "limebb-summary-popover":
427
+ if (!customElements.get(tagName)) {
428
+ defineCustomElement$2();
429
+ }
430
+ break;
431
+ } });
432
+ }
433
+
434
+ const LimebbDocumentChips = DocumentChips;
435
+ const defineCustomElement = defineCustomElement$1;
436
+
437
+ export { LimebbDocumentChips, defineCustomElement };
@@ -70,7 +70,7 @@ const DocumentPicker = /*@__PURE__*/ proxyCustomElement(class DocumentPicker ext
70
70
  this.labelId = createRandomString();
71
71
  }
72
72
  render() {
73
- 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()));
73
+ 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()));
74
74
  }
75
75
  renderItems() {
76
76
  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 })));
@@ -244,7 +244,7 @@ const Feed = /*@__PURE__*/ proxyCustomElement(class Feed extends HTMLElement {
244
244
  this.highlighter.unregisterFeed(this.feedItemElement);
245
245
  }
246
246
  render() {
247
- return (h(Host, { key: 'ba514e5c049d1c06260bca13834317688f5c8966', role: "log", "aria-busy": this.loading ? 'true' : 'false', style: {
247
+ return (h(Host, { key: 'b56f2996447a80c5cf12f83fce2ca05de53553e4', role: "log", "aria-busy": this.loading ? 'true' : 'false', style: {
248
248
  '--limebb-feed-highlight-duration': `${ITEM_HIGHLIGHT_DURATION}ms`,
249
249
  } }, this.renderLoadMore(), this.renderEmptyFeedMessage(), this.renderSpinner(), this.renderFeedItems()));
250
250
  }
@@ -52995,7 +52995,7 @@ const IconPicker = /*@__PURE__*/ proxyCustomElement(class IconPicker extends HTM
52995
52995
  icon: this.value,
52996
52996
  };
52997
52997
  }
52998
- 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" }));
52998
+ 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" }));
52999
52999
  }
53000
53000
  }, [1, "limebb-icon-picker", {
53001
53001
  "value": [1],
@@ -94,7 +94,7 @@ const InfoTileAdminConfig = /*@__PURE__*/ proxyCustomElement(class InfoTileAdmin
94
94
  },
95
95
  ];
96
96
  return [
97
- h("limel-button-group", { key: '971f24abda709fdf0b6803037557472bbec9c357', value: buttons.filter(this.isValidButton), onChange: this.handleChangeType }),
97
+ h("limel-button-group", { key: 'cac8e4793eb19e3f4d959a7a53115954b190eddf', value: buttons.filter(this.isValidButton), onChange: this.handleChangeType }),
98
98
  this.renderFormatConfig(),
99
99
  ];
100
100
  }
@@ -435,7 +435,7 @@ const InfoTile = /*@__PURE__*/ proxyCustomElement(class InfoTile extends HTMLEle
435
435
  const errorProps = Object.assign(Object.assign({}, baseProps), { icon: 'error', prefix: 'ERROR', loading: true, label: this.getLabel(filter) });
436
436
  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() });
437
437
  const props = !filter || this.error ? errorProps : normalProps;
438
- return (h("limel-info-tile", Object.assign({ key: '9634fc3d797fa0382b9e0eca1eabf67c19ffa4a6', class: { error: !filter || this.error } }, props)));
438
+ return (h("limel-info-tile", Object.assign({ key: '1211ee931d2cf7a5a3c13896515812ddbcab29f2', class: { error: !filter || this.error } }, props)));
439
439
  }
440
440
  getFormattedValue() {
441
441
  if (!this.value && this.value !== 0) {
@@ -161,7 +161,7 @@ const LimeQueryBuilder = /*@__PURE__*/ proxyCustomElement(class LimeQueryBuilder
161
161
  }
162
162
  }
163
163
  render() {
164
- return (h(Host, { key: '683e54464031d37a38480a55aed3e3006ec9e806' }, this.renderHeader(), this.renderContent()));
164
+ return (h(Host, { key: '883901b3f445419dad53e7c02dd160ad7483c0cb' }, this.renderHeader(), this.renderContent()));
165
165
  }
166
166
  renderContent() {
167
167
  const visualModeSupported = this.checkVisualModeSupport();
@@ -196,7 +196,7 @@ const LimeQueryResponseFormatBuilder = /*@__PURE__*/ proxyCustomElement(class Li
196
196
  }
197
197
  render() {
198
198
  const visualModeSupported = this.checkVisualModeSupport();
199
- 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()))));
199
+ 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()))));
200
200
  }
201
201
  renderModeSwitch(support) {
202
202
  const visualDisabled = !support.visualModeSupported;
@@ -1,65 +1,12 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
2
  import { i as ir, z as ze, c } from './index.esm.js';
3
+ import { g as getPreviewType } from './extension-mapping.js';
3
4
  import { d as defineCustomElement$3 } from './empty-state.js';
4
5
  import { d as defineCustomElement$2 } from './live-docs-info.js';
5
6
  import { n as negate } from './negate.js';
6
7
 
7
8
  const LIVE_DOCS_TYPES = ['pdf', 'edit', 'view'];
8
9
 
9
- // Map of file extensions to their preview type
10
- const previewExtensionMap = {
11
- // Browser-native preview
12
- avi: 'browser',
13
- bmp: 'browser',
14
- csv: 'browser', // CSV shows as plain text
15
- gif: 'browser',
16
- heic: 'browser',
17
- html: 'browser',
18
- jpeg: 'browser',
19
- jpg: 'browser',
20
- json: 'browser',
21
- mp3: 'browser',
22
- mp4: 'browser',
23
- mov: 'browser',
24
- ogg: 'browser',
25
- pdf: 'browser',
26
- png: 'browser',
27
- svg: 'browser',
28
- svgz: 'browser',
29
- txt: 'browser',
30
- wav: 'browser',
31
- wmv: 'browser',
32
- xml: 'browser',
33
- // File viewer preview
34
- eml: 'fileViewer',
35
- // SharePoint PDF preview
36
- doc: 'sharepoint',
37
- docx: 'sharepoint',
38
- dot: 'sharepoint',
39
- dotx: 'sharepoint',
40
- odp: 'sharepoint',
41
- ods: 'sharepoint',
42
- pot: 'sharepoint',
43
- ppt: 'sharepoint',
44
- pptx: 'sharepoint',
45
- pps: 'sharepoint',
46
- ppsx: 'sharepoint',
47
- xls: 'sharepoint',
48
- xlsb: 'sharepoint',
49
- xlsm: 'sharepoint',
50
- xlsx: 'sharepoint',
51
- odt: 'sharepoint',
52
- };
53
- /**
54
- * Determines how a file can be previewed.
55
- *
56
- * @param extension - The file extension (case-insensitive).
57
- * @returns The preview type.
58
- */
59
- function getPreviewType(extension) {
60
- return previewExtensionMap[extension.toLowerCase()] || 'unsupported';
61
- }
62
-
63
10
  const fileViewerCss = ".not-found{display:flex;flex-direction:column;height:100%;align-items:center;justify-content:center;line-height:1rem;color:rgb(var(--contrast-1100))}.not-found limel-icon{color:rgb(var(--color-red-default))}iframe{height:100%;width:100%}";
64
11
  const LimebbLimeobjectFileViewerStyle0 = fileViewerCss;
65
12
 
@@ -1131,7 +1131,7 @@ const LocalePicker = /*@__PURE__*/ proxyCustomElement(class LocalePicker extends
1131
1131
  const value = this.value;
1132
1132
  selectedOptions = options.find((option) => option.value === value);
1133
1133
  }
1134
- return (h("limel-select", { key: '39da3645bcfe74e4bf4f0c9e80c4361a55a3d553', value: selectedOptions, options: sortBy$1(options, 'text'), helperText: this.helperText, label: this.label, required: this.required, disabled: this.disabled, readonly: this.readonly, onChange: this.handleChange, multiple: this.multipleChoice }));
1134
+ return (h("limel-select", { key: '146ecba3fc26664d49336cb4576887caee2b7f9f', value: selectedOptions, options: sortBy$1(options, 'text'), helperText: this.helperText, label: this.label, required: this.required, disabled: this.disabled, readonly: this.readonly, onChange: this.handleChange, multiple: this.multipleChoice }));
1135
1135
  }
1136
1136
  }, [1, "limebb-locale-picker", {
1137
1137
  "platform": [16],
@@ -13,8 +13,8 @@ const MentionGroupCounter = /*@__PURE__*/ proxyCustomElement(class MentionGroupC
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() {
@@ -153,7 +153,7 @@ class ObjectResolver {
153
153
  }
154
154
  }
155
155
 
156
- const objectChipCss = ":host{display:inline-block}";
156
+ const objectChipCss = ":host{display:inline-block;vertical-align:baseline}";
157
157
  const LimebbObjectChipStyle0 = objectChipCss;
158
158
 
159
159
  const ObjectChip = /*@__PURE__*/ proxyCustomElement(class ObjectChip extends HTMLElement {
@@ -1777,7 +1777,7 @@ const LimeBBTextEditor = /*@__PURE__*/ proxyCustomElement(class LimeBBTextEditor
1777
1777
  }
1778
1778
  render() {
1779
1779
  return [
1780
- h("limel-text-editor", { key: '44a1efaa2b03daf3ffb1929e110ec985b7f629fa', ref: (el) => (this.textEditor = el), tabindex: this.disabled ? -1 : 0, value: this.value, contentType: this.contentType, customElements: this.registeredCustomElements, "aria-disabled": this.disabled, language: this.language, triggers: this.registeredTriggers, onTriggerStart: this.handleTriggerStart, onTriggerStop: this.handleTriggerStop, onTriggerChange: this.handleTriggerChange, onImagePasted: this.handleImagePasted, onMetadataChange: this.handleMetadataChange, ui: this.ui, allowResize: this.allowResize, required: this.required, disabled: this.disabled, readonly: this.readonly, helperText: this.helperText, placeholder: this.placeholder, label: this.label, invalid: this.invalid }),
1780
+ h("limel-text-editor", { key: '4b9a47363ae1ad08fdcf09159ba5fa1d7c97cdc2', ref: (el) => (this.textEditor = el), tabindex: this.disabled ? -1 : 0, value: this.value, contentType: this.contentType, customElements: this.registeredCustomElements, "aria-disabled": this.disabled, language: this.language, triggers: this.registeredTriggers, onTriggerStart: this.handleTriggerStart, onTriggerStop: this.handleTriggerStop, onTriggerChange: this.handleTriggerChange, onImagePasted: this.handleImagePasted, onMetadataChange: this.handleMetadataChange, ui: this.ui, allowResize: this.allowResize, required: this.required, disabled: this.disabled, readonly: this.readonly, helperText: this.helperText, placeholder: this.placeholder, label: this.label, invalid: this.invalid }),
1781
1781
  this.renderPicker(),
1782
1782
  ];
1783
1783
  }
@@ -37,7 +37,7 @@ const TrendIndicator = /*@__PURE__*/ proxyCustomElement(class TrendIndicator ext
37
37
  this.numValue = this.parseValue(this.value);
38
38
  }
39
39
  render() {
40
- return (h(Host, { key: '2ed101327ee07b36639235704c82a35602331185', class: this.getContainerClassList() }, h("limel-notched-outline", { key: '09daaa1c59fbc5b58389ec73e0248bc87d4f2fcc', id: this.tooltipId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, "aria-controls": this.helperTextId }, h("div", { key: '09541f6ce5d94a0f739c564e1d1bd3bdfe8bdf7a', slot: "content", tabIndex: 0 }, this.renderVisualization())), this.renderHelperLine(), this.renderTooltip()));
40
+ return (h(Host, { key: '87197f593d5d5354a773e459a99f410f4c4f6306', class: this.getContainerClassList() }, h("limel-notched-outline", { key: 'e836c618cdafffafef15bbfeb71e865786ad2c51', id: this.tooltipId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, "aria-controls": this.helperTextId }, h("div", { key: '62cc0bce82b42cf447183f5d049bc92863b5e145', slot: "content", tabIndex: 0 }, this.renderVisualization())), this.renderHelperLine(), this.renderTooltip()));
41
41
  }
42
42
  renderVisualization() {
43
43
  if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {
@@ -148,7 +148,7 @@ const LimetypeField = /*@__PURE__*/ proxyCustomElement(class LimetypeField exten
148
148
  value: '',
149
149
  };
150
150
  options.unshift(emptyOption);
151
- 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 }));
151
+ 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 }));
152
152
  }
153
153
  componentWillRender() {
154
154
  this.updatePropertyFields(this.value || '');
@@ -11,8 +11,8 @@ const LiveDocsInfo = /*@__PURE__*/ proxyCustomElement(class LiveDocsInfo extends
11
11
  }
12
12
  render() {
13
13
  return [
14
- 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"))),
15
- 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")),
14
+ 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"))),
15
+ 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")),
16
16
  ];
17
17
  }
18
18
  static get style() { return LimebbLiveDocsInfoStyle0; }