@limetech/lime-crm-building-blocks 1.95.0 → 1.97.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 (246) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/{_MapCache-2e84a981.js → _MapCache-8b125fbb.js} +0 -26
  3. package/dist/cjs/{_Uint8Array-1e99726d.js → _Uint8Array-95263550.js} +1 -12
  4. package/dist/cjs/_baseIsEqual-cb7951b0.js +496 -0
  5. package/dist/cjs/_defineProperty-40a6ad5d.js +15 -0
  6. package/dist/cjs/{get-1acf79ce.js → get-932b213e.js} +5 -4
  7. package/dist/cjs/isEqual-e77cce75.js +37 -0
  8. package/dist/cjs/isSymbol-5b36aeee.js +30 -0
  9. package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
  10. package/dist/cjs/lime-query.types-bcb63a22.js +61 -0
  11. package/dist/cjs/limebb-component-config.cjs.entry.js +3 -2
  12. package/dist/cjs/limebb-document-item.cjs.entry.js +174 -0
  13. package/dist/cjs/limebb-document-picker.cjs.entry.js +82 -0
  14. package/dist/cjs/limebb-feed-item-thumbnail-file-info.cjs.entry.js +1 -1
  15. package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +1 -1
  16. package/dist/cjs/limebb-feed.cjs.entry.js +1 -1
  17. package/dist/cjs/limebb-icon-picker.cjs.entry.js +1 -1
  18. package/dist/cjs/limebb-info-tile-format.cjs.entry.js +1 -1
  19. package/dist/cjs/limebb-info-tile.cjs.entry.js +1 -1
  20. package/dist/cjs/limebb-kanban-group.cjs.entry.js +1 -1
  21. package/dist/cjs/limebb-kanban-item.cjs.entry.js +1 -1
  22. package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +382 -150
  23. package/dist/cjs/limebb-lime-query-filter-and_5.cjs.entry.js +278 -0
  24. package/dist/cjs/limebb-lime-query-value-input.cjs.entry.js +239 -0
  25. package/dist/cjs/limebb-limetype-field_2.cjs.entry.js +406 -0
  26. package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
  27. package/dist/cjs/limebb-locale-picker.cjs.entry.js +13 -498
  28. package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
  29. package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +3 -3
  30. package/dist/cjs/limebb-notification-item.cjs.entry.js +1 -1
  31. package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +2 -2
  32. package/dist/cjs/limebb-property-selector.cjs.entry.js +234 -0
  33. package/dist/cjs/limebb-response-format-item.cjs.entry.js +80 -0
  34. package/dist/cjs/limebb-text-editor.cjs.entry.js +22 -83
  35. package/dist/cjs/limebb-trend-indicator.cjs.entry.js +1 -1
  36. package/dist/cjs/limetype-1fe0207f.js +90 -0
  37. package/dist/cjs/loader.cjs.js +1 -1
  38. package/dist/cjs/property-resolution-fb42a46b.js +66 -0
  39. package/dist/cjs/random-string-aac0a74b.js +24 -0
  40. package/dist/collection/collection-manifest.json +12 -0
  41. package/dist/collection/components/document-picker/document-item/document-item.css +64 -0
  42. package/dist/collection/components/document-picker/document-item/document-item.js +265 -0
  43. package/dist/collection/components/document-picker/document-item/document-item.types.js +1 -0
  44. package/dist/collection/components/document-picker/document-picker.css +139 -0
  45. package/dist/collection/components/document-picker/document-picker.js +304 -0
  46. package/dist/collection/components/document-picker/document.types.js +1 -0
  47. package/dist/collection/components/feed/feed-item/feed-timeline-item.js +1 -1
  48. package/dist/collection/components/feed/feed-item-thumbnail-file-info/feed-item-thumbnail-file-info.js +1 -1
  49. package/dist/collection/components/feed/feed.js +1 -1
  50. package/dist/collection/components/icon-picker/icon-picker.js +1 -1
  51. package/dist/collection/components/info-tile/format/config/info-tile-format.js +1 -1
  52. package/dist/collection/components/info-tile/info-tile.js +1 -1
  53. package/dist/collection/components/kanban/kanban-group/kanban-group.js +1 -1
  54. package/dist/collection/components/kanban/kanban-item/kanban-item.js +1 -1
  55. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-and.css +121 -0
  56. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-and.js +257 -0
  57. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.css +39 -0
  58. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +246 -0
  59. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-expression.css +104 -0
  60. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-expression.js +220 -0
  61. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.css +107 -0
  62. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +212 -0
  63. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-or.css +123 -0
  64. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-or.js +237 -0
  65. package/dist/collection/components/lime-query-builder/expressions/lime-query-value-input.css +48 -0
  66. package/dist/collection/components/lime-query-builder/expressions/lime-query-value-input.js +457 -0
  67. package/dist/collection/components/lime-query-builder/filter-conversion.js +118 -21
  68. package/dist/collection/components/lime-query-builder/lime-query-builder.css +30 -17
  69. package/dist/collection/components/lime-query-builder/lime-query-builder.js +233 -28
  70. package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +435 -0
  71. package/dist/collection/components/lime-query-builder/property-selection-format.js +158 -0
  72. package/dist/collection/components/lime-query-builder/property-selector/property-selector.css +8 -0
  73. package/dist/collection/components/lime-query-builder/property-selector/property-selector.js +422 -0
  74. package/dist/collection/components/lime-query-builder/response-format-editor.css +72 -0
  75. package/dist/collection/components/lime-query-builder/response-format-editor.js +249 -0
  76. package/dist/collection/components/lime-query-builder/response-format-item.css +61 -0
  77. package/dist/collection/components/lime-query-builder/response-format-item.js +208 -0
  78. package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
  79. package/dist/collection/components/locale-picker/locale-picker.js +1 -1
  80. package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
  81. package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
  82. package/dist/collection/components/summary-popover/summary-popover.js +3 -3
  83. package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
  84. package/dist/collection/components/text-editor/text-editor.js +1 -1
  85. package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
  86. package/dist/collection/util/format-bytes.js +36 -0
  87. package/dist/components/_MapCache.js +2 -27
  88. package/dist/components/_Uint8Array.js +2 -12
  89. package/dist/components/_baseIsEqual.js +494 -0
  90. package/dist/components/_defineProperty.js +13 -0
  91. package/dist/components/document-item.js +190 -0
  92. package/dist/components/feed-item-thumbnail-file-info.js +1 -1
  93. package/dist/components/feed-timeline-item.js +1 -1
  94. package/dist/components/get.js +2 -1
  95. package/dist/components/isEqual.js +35 -0
  96. package/dist/components/isSymbol.js +28 -0
  97. package/dist/components/kanban-group.js +1 -1
  98. package/dist/components/kanban-item.js +1 -1
  99. package/dist/components/lime-query-filter-and.js +408 -0
  100. package/dist/components/lime-query-filter-comparison.js +152 -0
  101. package/dist/components/lime-query-value-input.js +266 -0
  102. package/dist/components/limebb-document-item.d.ts +11 -0
  103. package/dist/components/limebb-document-item.js +6 -0
  104. package/dist/components/limebb-document-picker.d.ts +11 -0
  105. package/dist/components/limebb-document-picker.js +111 -0
  106. package/dist/components/limebb-feed.js +1 -1
  107. package/dist/components/limebb-icon-picker.js +1 -1
  108. package/dist/components/limebb-info-tile-format.js +1 -1
  109. package/dist/components/limebb-info-tile.js +1 -1
  110. package/dist/components/limebb-lime-query-builder.js +441 -149
  111. package/dist/components/limebb-lime-query-filter-and.d.ts +11 -0
  112. package/dist/components/limebb-lime-query-filter-and.js +6 -0
  113. package/dist/components/limebb-lime-query-filter-comparison.d.ts +11 -0
  114. package/dist/components/limebb-lime-query-filter-comparison.js +6 -0
  115. package/dist/components/limebb-lime-query-filter-expression.d.ts +11 -0
  116. package/dist/components/limebb-lime-query-filter-expression.js +6 -0
  117. package/dist/components/limebb-lime-query-filter-not.d.ts +11 -0
  118. package/dist/components/limebb-lime-query-filter-not.js +6 -0
  119. package/dist/components/limebb-lime-query-filter-or.d.ts +11 -0
  120. package/dist/components/limebb-lime-query-filter-or.js +6 -0
  121. package/dist/components/limebb-lime-query-value-input.d.ts +11 -0
  122. package/dist/components/limebb-lime-query-value-input.js +6 -0
  123. package/dist/components/limebb-limetype-field.d.ts +11 -0
  124. package/dist/components/limebb-limetype-field.js +6 -0
  125. package/dist/components/limebb-locale-picker.js +8 -493
  126. package/dist/components/limebb-mention-group-counter.js +2 -2
  127. package/dist/components/limebb-percentage-visualizer.js +2 -2
  128. package/dist/components/limebb-property-selector.d.ts +11 -0
  129. package/dist/components/limebb-property-selector.js +6 -0
  130. package/dist/components/limebb-response-format-editor.d.ts +11 -0
  131. package/dist/components/limebb-response-format-editor.js +6 -0
  132. package/dist/components/limebb-response-format-item.d.ts +11 -0
  133. package/dist/components/limebb-response-format-item.js +6 -0
  134. package/dist/components/limebb-text-editor.js +8 -69
  135. package/dist/components/limebb-trend-indicator.js +1 -1
  136. package/dist/components/limetype-field.js +184 -0
  137. package/dist/components/limetype.js +85 -0
  138. package/dist/components/live-docs-info.js +2 -2
  139. package/dist/components/notification-item.js +1 -1
  140. package/dist/components/property-selector.js +317 -0
  141. package/dist/components/random-string.js +22 -0
  142. package/dist/components/response-format-editor.js +278 -0
  143. package/dist/components/response-format-item.js +104 -0
  144. package/dist/components/summary-popover.js +3 -3
  145. package/dist/esm/{_MapCache-6484495d.js → _MapCache-af496e9d.js} +2 -27
  146. package/dist/esm/{_Uint8Array-e5cac922.js → _Uint8Array-d6ebd526.js} +3 -13
  147. package/dist/esm/_baseIsEqual-28053b81.js +494 -0
  148. package/dist/esm/_defineProperty-e6a185c3.js +13 -0
  149. package/dist/esm/{get-f9e0b2e1.js → get-3e42932b.js} +2 -1
  150. package/dist/esm/isEqual-57d0c223.js +35 -0
  151. package/dist/esm/isSymbol-1c5f65cc.js +28 -0
  152. package/dist/esm/lime-crm-building-blocks.js +1 -1
  153. package/dist/esm/lime-query.types-f72355e1.js +59 -0
  154. package/dist/esm/limebb-component-config.entry.js +3 -2
  155. package/dist/esm/limebb-document-item.entry.js +170 -0
  156. package/dist/esm/limebb-document-picker.entry.js +78 -0
  157. package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
  158. package/dist/esm/limebb-feed-timeline-item.entry.js +1 -1
  159. package/dist/esm/limebb-feed.entry.js +1 -1
  160. package/dist/esm/limebb-icon-picker.entry.js +1 -1
  161. package/dist/esm/limebb-info-tile-format.entry.js +1 -1
  162. package/dist/esm/limebb-info-tile.entry.js +1 -1
  163. package/dist/esm/limebb-kanban-group.entry.js +1 -1
  164. package/dist/esm/limebb-kanban-item.entry.js +1 -1
  165. package/dist/esm/limebb-lime-query-builder.entry.js +379 -147
  166. package/dist/esm/limebb-lime-query-filter-and_5.entry.js +270 -0
  167. package/dist/esm/limebb-lime-query-value-input.entry.js +235 -0
  168. package/dist/esm/limebb-limetype-field_2.entry.js +401 -0
  169. package/dist/esm/limebb-live-docs-info.entry.js +2 -2
  170. package/dist/esm/limebb-locale-picker.entry.js +9 -494
  171. package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
  172. package/dist/esm/limebb-navigation-button_2.entry.js +3 -3
  173. package/dist/esm/limebb-notification-item.entry.js +1 -1
  174. package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
  175. package/dist/esm/limebb-property-selector.entry.js +230 -0
  176. package/dist/esm/limebb-response-format-item.entry.js +76 -0
  177. package/dist/esm/limebb-text-editor.entry.js +8 -69
  178. package/dist/esm/limebb-trend-indicator.entry.js +1 -1
  179. package/dist/esm/limetype-6e7552a7.js +85 -0
  180. package/dist/esm/loader.js +1 -1
  181. package/dist/esm/property-resolution-fde2375e.js +63 -0
  182. package/dist/esm/random-string-f6ef6fbf.js +22 -0
  183. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  184. package/dist/lime-crm-building-blocks/{p-85e11ff7.entry.js → p-00da9b24.entry.js} +1 -1
  185. package/dist/lime-crm-building-blocks/p-02c0cc04.entry.js +1 -0
  186. package/dist/lime-crm-building-blocks/p-123190c3.js +1 -0
  187. package/dist/lime-crm-building-blocks/p-244ee55b.entry.js +1 -0
  188. package/dist/lime-crm-building-blocks/p-35897ec3.js +1 -0
  189. package/dist/lime-crm-building-blocks/{p-d6a07ea4.entry.js → p-3932077b.entry.js} +1 -1
  190. package/dist/lime-crm-building-blocks/p-3b0a15ec.js +1 -0
  191. package/dist/lime-crm-building-blocks/p-4a82410e.entry.js +1 -0
  192. package/dist/lime-crm-building-blocks/{p-a694aae5.entry.js → p-50d3d61a.entry.js} +1 -1
  193. package/dist/lime-crm-building-blocks/p-5a6d2e7f.js +1 -0
  194. package/dist/lime-crm-building-blocks/p-60971d64.js +1 -0
  195. package/dist/lime-crm-building-blocks/{p-a44f543c.entry.js → p-61282e1a.entry.js} +1 -1
  196. package/dist/lime-crm-building-blocks/p-6c1146ca.entry.js +1 -0
  197. package/dist/lime-crm-building-blocks/p-70a28b93.entry.js +1 -0
  198. package/dist/lime-crm-building-blocks/{p-16199127.entry.js → p-79d4668a.entry.js} +1 -1
  199. package/dist/lime-crm-building-blocks/p-7e6fb4af.js +1 -0
  200. package/dist/lime-crm-building-blocks/{p-88cc5b66.entry.js → p-82d33d43.entry.js} +1 -1
  201. package/dist/lime-crm-building-blocks/{p-7db8652e.entry.js → p-8c4eb49f.entry.js} +1 -1
  202. package/dist/lime-crm-building-blocks/p-96beaabc.entry.js +1 -0
  203. package/dist/lime-crm-building-blocks/p-9d25ed5a.entry.js +1 -0
  204. package/dist/lime-crm-building-blocks/{p-8dce83ad.entry.js → p-9d9f25da.entry.js} +1 -1
  205. package/dist/lime-crm-building-blocks/p-a659d55a.js +1 -0
  206. package/dist/lime-crm-building-blocks/p-b7c72179.entry.js +1 -0
  207. package/dist/lime-crm-building-blocks/p-baf4e428.entry.js +1 -0
  208. package/dist/lime-crm-building-blocks/{p-516210d4.entry.js → p-beb0d164.entry.js} +1 -1
  209. package/dist/lime-crm-building-blocks/p-d298b34e.js +1 -0
  210. package/dist/lime-crm-building-blocks/{p-047c89de.entry.js → p-d89c44ad.entry.js} +1 -1
  211. package/dist/lime-crm-building-blocks/p-e0ab1554.js +1 -0
  212. package/dist/lime-crm-building-blocks/{p-46d2f604.entry.js → p-e35299e0.entry.js} +1 -1
  213. package/dist/lime-crm-building-blocks/{p-8ef39ab8.entry.js → p-e9d23ef7.entry.js} +1 -1
  214. package/dist/lime-crm-building-blocks/p-ef8a5266.entry.js +1 -0
  215. package/dist/lime-crm-building-blocks/{p-abf1c197.entry.js → p-f52125a0.entry.js} +1 -1
  216. package/dist/lime-crm-building-blocks/p-f99c611d.entry.js +1 -0
  217. package/dist/lime-crm-building-blocks/p-fbda77a7.js +1 -0
  218. package/dist/lime-crm-building-blocks/p-fe2b91d9.js +1 -0
  219. package/dist/lime-crm-building-blocks/{p-d6af09a8.entry.js → p-ff0b244b.entry.js} +1 -1
  220. package/dist/types/components/document-picker/document-item/document-item.d.ts +46 -0
  221. package/dist/types/components/document-picker/document-item/document-item.types.d.ts +37 -0
  222. package/dist/types/components/document-picker/document-picker.d.ts +80 -0
  223. package/dist/types/components/document-picker/document.types.d.ts +2 -0
  224. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-and.d.ts +56 -0
  225. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-comparison.d.ts +64 -0
  226. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-expression.d.ts +53 -0
  227. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-not.d.ts +54 -0
  228. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-or.d.ts +55 -0
  229. package/dist/types/components/lime-query-builder/expressions/lime-query-value-input.d.ts +92 -0
  230. package/dist/types/components/lime-query-builder/filter-conversion.d.ts +18 -0
  231. package/dist/types/components/lime-query-builder/lime-query-builder.d.ts +30 -8
  232. package/dist/types/components/lime-query-builder/limetype-field/limetype-field.d.ts +96 -0
  233. package/dist/types/components/lime-query-builder/property-selection-format.d.ts +23 -0
  234. package/dist/types/components/lime-query-builder/property-selector/property-selector.d.ts +71 -0
  235. package/dist/types/components/lime-query-builder/response-format-editor.d.ts +57 -0
  236. package/dist/types/components/lime-query-builder/response-format-item.d.ts +46 -0
  237. package/dist/types/components.d.ts +1795 -114
  238. package/dist/types/util/format-bytes.d.ts +20 -0
  239. package/package.json +2 -2
  240. package/dist/lime-crm-building-blocks/p-29346b1a.entry.js +0 -1
  241. package/dist/lime-crm-building-blocks/p-4ccce5cc.entry.js +0 -1
  242. package/dist/lime-crm-building-blocks/p-7ef3bace.entry.js +0 -1
  243. package/dist/lime-crm-building-blocks/p-8044ffbd.js +0 -1
  244. package/dist/lime-crm-building-blocks/p-92ec9205.entry.js +0 -1
  245. package/dist/lime-crm-building-blocks/p-bcc23575.js +0 -1
  246. package/dist/lime-crm-building-blocks/p-c40a3f4b.js +0 -1
@@ -10,15 +10,18 @@ import { BrowserItem } from "./components/browser/browser-item.types";
10
10
  import { ActionBarItem, CustomElementDefinition, DateType, EditorUiType, FormInfo, Icon, Image, Languages, ListItem, ListSeparator, OpenDirection } from "@limetech/lime-elements";
11
11
  import { ChatItem } from "./components/chat-list/chat-item/chat-item.types";
12
12
  import { ComponentPickerType } from "./components/component-command-picker/types";
13
+ import { DocumentItem } from "./components/document-picker/document-item/document-item.types";
14
+ import { DocumentType } from "./components/document-picker/document.types";
13
15
  import { FeedItem } from "./components/feed/feed-item/feed-item.types";
14
16
  import { DateTimeFormat, NumberFormat, RelativeDateTimeFormat } from "./components/info-tile/format";
15
17
  import { InfoTile } from "./components/info-tile/info-tile";
16
18
  import { KanbanGroup } from "./components/kanban/kanban-group/kanban-group.types";
17
19
  import { KanbanItem } from "./components/kanban/kanban-item/kanban-item.types";
18
- import { LimeQuery } from "./components/lime-query-builder/lime-query.types";
20
+ import { FilterOperator, LimeQuery, LimeQueryFilterAnd, LimeQueryFilterComparison, LimeQueryFilterExpression, LimeQueryFilterMissing, LimeQueryFilterNot, LimeQueryFilterOr, ResponseFormat } from "./components/lime-query-builder/lime-query.types";
19
21
  import { LanguagePickerType } from "./components/locale-picker/language-picker.types";
20
22
  import { NavigationButtonType } from "./components/navigation-button/navigation-button.types";
21
23
  import { NotificationItem } from "./components/notification-list/notification-item/notification-item.types";
24
+ import { PropertySelectionItem } from "./components/lime-query-builder/property-selection-format";
22
25
  import { TriggerMap } from "./components/text-editor/text-editor.types";
23
26
  import { EnhancedEditorMetadata } from "./components/text-editor/uploader/building-blocks-upload-handler";
24
27
  export { AggregateOperator, LimeFileUrlType, LimeType, LimeWebComponentContext, LimeWebComponentPlatform } from "@limetech/lime-web-components";
@@ -26,15 +29,18 @@ export { BrowserItem } from "./components/browser/browser-item.types";
26
29
  export { ActionBarItem, CustomElementDefinition, DateType, EditorUiType, FormInfo, Icon, Image, Languages, ListItem, ListSeparator, OpenDirection } from "@limetech/lime-elements";
27
30
  export { ChatItem } from "./components/chat-list/chat-item/chat-item.types";
28
31
  export { ComponentPickerType } from "./components/component-command-picker/types";
32
+ export { DocumentItem } from "./components/document-picker/document-item/document-item.types";
33
+ export { DocumentType } from "./components/document-picker/document.types";
29
34
  export { FeedItem } from "./components/feed/feed-item/feed-item.types";
30
35
  export { DateTimeFormat, NumberFormat, RelativeDateTimeFormat } from "./components/info-tile/format";
31
36
  export { InfoTile } from "./components/info-tile/info-tile";
32
37
  export { KanbanGroup } from "./components/kanban/kanban-group/kanban-group.types";
33
38
  export { KanbanItem } from "./components/kanban/kanban-item/kanban-item.types";
34
- export { LimeQuery } from "./components/lime-query-builder/lime-query.types";
39
+ export { FilterOperator, LimeQuery, LimeQueryFilterAnd, LimeQueryFilterComparison, LimeQueryFilterExpression, LimeQueryFilterMissing, LimeQueryFilterNot, LimeQueryFilterOr, ResponseFormat } from "./components/lime-query-builder/lime-query.types";
35
40
  export { LanguagePickerType } from "./components/locale-picker/language-picker.types";
36
41
  export { NavigationButtonType } from "./components/navigation-button/navigation-button.types";
37
42
  export { NotificationItem } from "./components/notification-list/notification-item/notification-item.types";
43
+ export { PropertySelectionItem } from "./components/lime-query-builder/property-selection-format";
38
44
  export { TriggerMap } from "./components/text-editor/text-editor.types";
39
45
  export { EnhancedEditorMetadata } from "./components/text-editor/uploader/building-blocks-upload-handler";
40
46
  export namespace Components {
@@ -457,6 +463,79 @@ export namespace Components {
457
463
  */
458
464
  "type": DateType;
459
465
  }
466
+ /**
467
+ * Document item
468
+ * Renders individual items of the document picker component.
469
+ * @private
470
+ */
471
+ interface LimebbDocumentItem {
472
+ /**
473
+ * The context this component belongs to
474
+ * @inheritdoc
475
+ */
476
+ "context": LimeWebComponentContext;
477
+ /**
478
+ * The item to display in the document picker.
479
+ */
480
+ "item": DocumentItem;
481
+ /**
482
+ * Reference to the platform
483
+ * @inheritdoc
484
+ */
485
+ "platform": LimeWebComponentPlatform;
486
+ /**
487
+ * The semantic role of the list item. - 'radio': renders a radio button for single selection. - 'checkbox': renders a checkbox for multiple selection.
488
+ */
489
+ "type": 'radio' | 'checkbox';
490
+ }
491
+ /**
492
+ * The document picker component allows users to select one or more
493
+ * files from a list of available documents.
494
+ * It is primarily designed to facilitate the selection of files
495
+ * that a user might want to import into the CRM, for example via
496
+ * our Microsoft Outlook Add-in.
497
+ * @exampleComponent limebb-example-document-picker-basic
498
+ * @exampleComponent limebb-example-document-picker-selection-mode
499
+ * @exampleComponent limebb-example-document-picker-limited-selection
500
+ * @exampleComponent limebb-example-document-picker-contextual-info
501
+ * @beta
502
+ */
503
+ interface LimebbDocumentPicker {
504
+ /**
505
+ * The context this component belongs to
506
+ * @inheritdoc
507
+ */
508
+ "context": LimeWebComponentContext;
509
+ /**
510
+ * Optional helper text to display below the items.
511
+ */
512
+ "helperText"?: string;
513
+ /**
514
+ * Set to `true` to indicate that the current selection is invalid.
515
+ */
516
+ "invalid": boolean;
517
+ /**
518
+ * The list of document items to display in the picker.
519
+ */
520
+ "items": DocumentItem[];
521
+ /**
522
+ * Label to display for the group of items.
523
+ */
524
+ "label"?: string;
525
+ /**
526
+ * Reference to the platform
527
+ * @inheritdoc
528
+ */
529
+ "platform": LimeWebComponentPlatform;
530
+ /**
531
+ * Set to `true` to indicate that selecting an item is required.
532
+ */
533
+ "required": boolean;
534
+ /**
535
+ * Defines whether the picker allows single or multiple selection. - 'radio': Allows single selection within a group. - 'checkbox': Allows multiple selection.
536
+ */
537
+ "type": DocumentType;
538
+ }
460
539
  /**
461
540
  * An "empty state" in user interface design refers to the screen or space displayed, when there is no data
462
541
  * or content available to show to the user. This state typically occurs in new accounts, after clearing data,
@@ -870,15 +949,18 @@ export namespace Components {
870
949
  }
871
950
  /**
872
951
  * Lime Query Builder Component
873
- * A code editor for constructing Lime Query DSL queries in JSON format.
952
+ * A comprehensive query builder for constructing Lime Query DSL queries.
953
+ * This is the main component that combines limetype selection with the filter builder.
874
954
  * Features:
875
- * - **JSON code editor**: Write queries using the Lime Query DSL
876
- * - **Syntax validation**: Real-time validation of query structure
877
- * - **Feature flag support**: GUI mode placeholder (not yet implemented)
878
- * The component allows editing of complete `LimeQuery` objects that can be sent
955
+ * - **Limetype selection**: Choose which object type to query
956
+ * - **Filter builder**: Build complex filters with AND/OR/NOT logic
957
+ * - **Property path selection**: Navigate through relations
958
+ * - **Type-aware inputs**: Automatic input types based on property type
959
+ * - **Response format**: Select which properties to return
960
+ * - **Query options**: Configure limit and other query parameters
961
+ * - **Real-time output**: See the Lime Query JSON as you build
962
+ * The component produces a complete `LimeQuery` object that can be sent
879
963
  * directly to the Lime CRM backend.
880
- * When the feature flag `useLimeQueryBuilderGuiMode` is enabled, a mode toggle
881
- * becomes available, but GUI mode currently shows a placeholder message.
882
964
  * @exampleComponent limebb-example-lime-query-builder-basic
883
965
  * @private
884
966
  */
@@ -900,6 +982,258 @@ export namespace Components {
900
982
  */
901
983
  "value": LimeQuery;
902
984
  }
985
+ /**
986
+ * Lime Query Filter AND Component
987
+ * Renders a group of filter expressions where **all conditions must be true**.
988
+ * Users can add multiple child expressions, and a record must match all of them
989
+ * to be included in the result set.
990
+ * This component displays:
991
+ * - A header with "All of these conditions are true" when there are multiple conditions
992
+ * - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
993
+ * - An "Add another condition" button to add more expressions
994
+ * Clicking the trash icon on a child expression removes it from the AND group.
995
+ * @private
996
+ */
997
+ interface LimebbLimeQueryFilterAnd {
998
+ /**
999
+ * The limetype of the active object (for %activeObject% placeholders)
1000
+ */
1001
+ "activeLimetype"?: string;
1002
+ /**
1003
+ * Component context
1004
+ */
1005
+ "context": LimeWebComponentContext;
1006
+ /**
1007
+ * The AND expression containing child expressions
1008
+ */
1009
+ "expression": LimeQueryFilterAnd;
1010
+ /**
1011
+ * Optional label for the AND group
1012
+ */
1013
+ "label": string;
1014
+ /**
1015
+ * The limetype being queried (e.g., "deal", "company")
1016
+ */
1017
+ "limetype": string;
1018
+ /**
1019
+ * Platform service provider
1020
+ */
1021
+ "platform": LimeWebComponentPlatform;
1022
+ }
1023
+ /**
1024
+ * Lime Query Filter Comparison Component
1025
+ * Renders a single comparison expression with three parts:
1026
+ * 1. **Property** - The field to compare (e.g., "dealstatus", "company.name")
1027
+ * 2. **Operator** - The comparison operator (=, !=, >, <, >=, <=, IN, ?, =?, =$)
1028
+ * 3. **Value** - The value to compare against
1029
+ * This is the most basic building block of a filter. Examples:
1030
+ * - dealstatus = "won"
1031
+ * - value > 100000
1032
+ * - name ? "Big" (contains "Big")
1033
+ * - dealstatus IN ["won", "tender"]
1034
+ * The component displays:
1035
+ * - A text input for the property (Phase 0 - will be replaced with property-path in Phase 1)
1036
+ * - A dropdown for the operator
1037
+ * - A value input (text/number based on operator)
1038
+ * - A trash icon button to remove this condition
1039
+ * @private
1040
+ */
1041
+ interface LimebbLimeQueryFilterComparison {
1042
+ /**
1043
+ * The limetype of the active object (for %activeObject% placeholders)
1044
+ */
1045
+ "activeLimetype"?: string;
1046
+ /**
1047
+ * Component context
1048
+ */
1049
+ "context": LimeWebComponentContext;
1050
+ /**
1051
+ * The comparison expression to render
1052
+ */
1053
+ "expression": LimeQueryFilterComparison;
1054
+ /**
1055
+ * Optional label for the comparison
1056
+ */
1057
+ "label": string;
1058
+ /**
1059
+ * The limetype being queried (e.g., "deal", "company")
1060
+ */
1061
+ "limetype": string;
1062
+ /**
1063
+ * Platform service provider
1064
+ */
1065
+ "platform": LimeWebComponentPlatform;
1066
+ }
1067
+ /**
1068
+ * Lime Query Filter Expression Router
1069
+ * This is the main entry point for rendering Lime Query filters.
1070
+ * It routes to the appropriate sub-component based on the filter type:
1071
+ * - `'AND'` → limebb-lime-query-filter-and
1072
+ * - `'OR'` → limebb-lime-query-filter-or
1073
+ * - `'NOT'` → limebb-lime-query-filter-not
1074
+ * - `'comparison'` → limebb-lime-query-filter-comparison
1075
+ * - `''` (missing) → limebb-lime-query-filter-comparison (default)
1076
+ * Use this component when you need to render a complete filter expression
1077
+ * that may contain nested AND/OR/NOT logic.
1078
+ * @private
1079
+ */
1080
+ interface LimebbLimeQueryFilterExpression {
1081
+ /**
1082
+ * The limetype of the active object (for %activeObject% placeholders) Optional - used for validation and property suggestions
1083
+ */
1084
+ "activeLimetype"?: string;
1085
+ /**
1086
+ * Component context
1087
+ */
1088
+ "context": LimeWebComponentContext;
1089
+ /**
1090
+ * The filter expression to render
1091
+ */
1092
+ "expression": LimeQueryFilterExpression;
1093
+ /**
1094
+ * Optional label for the expression
1095
+ */
1096
+ "label": string;
1097
+ /**
1098
+ * The limetype being queried (e.g., "deal", "company") Used for property validation and type-aware inputs
1099
+ */
1100
+ "limetype": string;
1101
+ /**
1102
+ * Platform service provider
1103
+ */
1104
+ "platform": LimeWebComponentPlatform;
1105
+ }
1106
+ /**
1107
+ * Lime Query Filter NOT Component
1108
+ * Renders a negated filter expression. This inverts the logic of the child expression,
1109
+ * so records that would normally match will be excluded, and vice versa.
1110
+ * For example:
1111
+ * - NOT (status = "won") → Include all records where status is NOT "won"
1112
+ * - NOT (value > 100000) → Include all records where value is NOT greater than 100000
1113
+ * This component displays:
1114
+ * - A "Not" label
1115
+ * - A single child expression (which can be a comparison or nested AND/OR group)
1116
+ * Clicking the trash icon removes the entire NOT expression.
1117
+ * @private
1118
+ */
1119
+ interface LimebbLimeQueryFilterNot {
1120
+ /**
1121
+ * The limetype of the active object (for %activeObject% placeholders)
1122
+ */
1123
+ "activeLimetype"?: string;
1124
+ /**
1125
+ * Component context
1126
+ */
1127
+ "context": LimeWebComponentContext;
1128
+ /**
1129
+ * The NOT expression containing the child expression to negate
1130
+ */
1131
+ "expression": LimeQueryFilterNot;
1132
+ /**
1133
+ * Optional label for the NOT expression
1134
+ */
1135
+ "label": string;
1136
+ /**
1137
+ * The limetype being queried (e.g., "deal", "company")
1138
+ */
1139
+ "limetype": string;
1140
+ /**
1141
+ * Platform service provider
1142
+ */
1143
+ "platform": LimeWebComponentPlatform;
1144
+ }
1145
+ /**
1146
+ * Lime Query Filter OR Component
1147
+ * Renders a group of filter expressions where **at least one condition must be true**.
1148
+ * Users can add multiple alternative expressions, and a record only needs to match
1149
+ * one of them to be included in the result set.
1150
+ * This component displays:
1151
+ * - A header with "Any of these conditions is true" when there are multiple conditions
1152
+ * - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
1153
+ * - An "Add alternative" button to add more options
1154
+ * Clicking the trash icon on a child expression removes it from the OR group.
1155
+ * @private
1156
+ */
1157
+ interface LimebbLimeQueryFilterOr {
1158
+ /**
1159
+ * The limetype of the active object (for %activeObject% placeholders)
1160
+ */
1161
+ "activeLimetype"?: string;
1162
+ /**
1163
+ * Component context
1164
+ */
1165
+ "context": LimeWebComponentContext;
1166
+ /**
1167
+ * The OR expression containing child expressions
1168
+ */
1169
+ "expression": LimeQueryFilterOr;
1170
+ /**
1171
+ * Optional label for the OR group
1172
+ */
1173
+ "label": string;
1174
+ /**
1175
+ * The limetype being queried (e.g., "deal", "company")
1176
+ */
1177
+ "limetype": string;
1178
+ /**
1179
+ * Platform service provider
1180
+ */
1181
+ "platform": LimeWebComponentPlatform;
1182
+ }
1183
+ /**
1184
+ * Query Value Input Component
1185
+ * Renders an appropriate input control based on the property type and operator.
1186
+ * This component automatically adapts its UI to match the data type of the selected
1187
+ * property, providing a better user experience and data validation.
1188
+ * Supported input types:
1189
+ * - **String/Text**: Standard text input field
1190
+ * - **Integer/Decimal**: Number input with appropriate step values
1191
+ * - **Date**: Date picker returning ISO date strings
1192
+ * - **Time**: Time input field
1193
+ * - **Boolean (yesno)**: True/False dropdown
1194
+ * - **Option**: Dropdown populated with valid options from property definition
1195
+ * - **IN operator**: Comma-separated input for multiple values (any type)
1196
+ * - **Placeholder mode**: Select properties from active object using %activeObject%
1197
+ * The component handles type conversions automatically:
1198
+ * - Numbers are parsed from string inputs
1199
+ * - Dates are converted to/from ISO strings
1200
+ * - Booleans are converted to/from strings for dropdown compatibility
1201
+ * @private
1202
+ */
1203
+ interface LimebbLimeQueryValueInput {
1204
+ /**
1205
+ * The limetype of the active object (for %activeObject% placeholders)
1206
+ */
1207
+ "activeLimetype"?: string;
1208
+ /**
1209
+ * Component context
1210
+ */
1211
+ "context": LimeWebComponentContext;
1212
+ /**
1213
+ * Optional label for the input
1214
+ */
1215
+ "label": string;
1216
+ /**
1217
+ * The limetype being queried
1218
+ */
1219
+ "limetype": string;
1220
+ /**
1221
+ * The operator being used
1222
+ */
1223
+ "operator": FilterOperator;
1224
+ /**
1225
+ * Platform service provider
1226
+ */
1227
+ "platform": LimeWebComponentPlatform;
1228
+ /**
1229
+ * The property path (e.g., "dealstatus", "company.name")
1230
+ */
1231
+ "propertyPath": string;
1232
+ /**
1233
+ * The current value
1234
+ */
1235
+ "value": any;
1236
+ }
903
1237
  /**
904
1238
  * Component for displaying the contents of an attached file on a limeobject
905
1239
  * Example use case is to use it as a tab on the document card
@@ -926,6 +1260,84 @@ export namespace Components {
926
1260
  */
927
1261
  "property": string;
928
1262
  }
1263
+ /**
1264
+ * Limetype Field Component
1265
+ * A dropdown selector for choosing a limetype (object type) from the available
1266
+ * limetypes in the system.
1267
+ * This component:
1268
+ * - Displays all limetypes with their icons and localized names
1269
+ * - Supports restricting to a specific list of limetypes
1270
+ * - Can update dependent property-path fields when selection changes
1271
+ * - Implements the FormComponent interface for use in forms
1272
+ * Common use cases:
1273
+ * - Selecting which object type to query in a lime query builder
1274
+ * - Choosing target limetype for relations
1275
+ * - Configuring limetype-dependent settings
1276
+ * @private
1277
+ */
1278
+ interface LimebbLimetypeField {
1279
+ /**
1280
+ * The context this component belongs to
1281
+ * @inheritdoc
1282
+ */
1283
+ "context": LimeWebComponentContext;
1284
+ /**
1285
+ * Whether or not the current property is disabled
1286
+ * @inheritdoc
1287
+ */
1288
+ "disabled": boolean;
1289
+ /**
1290
+ * The name of this field. May be used as reference when a property mapping depends on the selected limetype.
1291
+ */
1292
+ "fieldName": string;
1293
+ /**
1294
+ * Additional contextual information about the form
1295
+ * @inheritdoc
1296
+ */
1297
+ "formInfo"?: FormInfo;
1298
+ /**
1299
+ * The helper text for the current property
1300
+ * @inheritdoc
1301
+ */
1302
+ "helperText": string;
1303
+ /**
1304
+ * @inheritdoc
1305
+ */
1306
+ "invalid": boolean;
1307
+ /**
1308
+ * The label of the current property
1309
+ * @inheritdoc
1310
+ */
1311
+ "label": string;
1312
+ /**
1313
+ * The limetypes to choose from
1314
+ */
1315
+ "limetypes"?: string[];
1316
+ /**
1317
+ * Reference to the platform
1318
+ * @inheritdoc
1319
+ */
1320
+ "platform": LimeWebComponentPlatform;
1321
+ /**
1322
+ * A list of property fields that should be updated when the selected limetype changes.
1323
+ */
1324
+ "propertyFields": DependentPropertyField[];
1325
+ /**
1326
+ * Whether or not the current property is readonly
1327
+ * @inheritdoc
1328
+ */
1329
+ "readonly": boolean;
1330
+ /**
1331
+ * Whether or not the current property is required
1332
+ * @inheritdoc
1333
+ */
1334
+ "required": boolean;
1335
+ /**
1336
+ * The value of the current property
1337
+ * @inheritdoc
1338
+ */
1339
+ "value": string;
1340
+ }
929
1341
  /**
930
1342
  * @private
931
1343
  */
@@ -1205,6 +1617,111 @@ export namespace Components {
1205
1617
  */
1206
1618
  "value": number | string;
1207
1619
  }
1620
+ /**
1621
+ * Property Selector Component
1622
+ * A menu-based property selector that allows users to navigate through properties
1623
+ * and relations, only emitting complete property paths (not intermediate relations).
1624
+ * Similar to limec-context-expression but specifically for selecting properties
1625
+ * with dot-notation paths.
1626
+ * Features:
1627
+ * - Menu-based navigation through properties
1628
+ * - Submenu support for drilling into relations
1629
+ * - Internal state management during navigation
1630
+ * - Only emits complete paths (leaf properties)
1631
+ * - Chip-set display showing current path
1632
+ * @private
1633
+ */
1634
+ interface LimebbPropertySelector {
1635
+ /**
1636
+ * Component context
1637
+ */
1638
+ "context": LimeWebComponentContext;
1639
+ /**
1640
+ * Helper text to display
1641
+ */
1642
+ "helperText": string;
1643
+ /**
1644
+ * Label for the input
1645
+ */
1646
+ "label": string;
1647
+ /**
1648
+ * The limetype to select properties from
1649
+ */
1650
+ "limetype": string;
1651
+ /**
1652
+ * Platform service provider
1653
+ */
1654
+ "platform": LimeWebComponentPlatform;
1655
+ /**
1656
+ * Whether the field is required
1657
+ */
1658
+ "required": boolean;
1659
+ /**
1660
+ * Current complete property path value
1661
+ */
1662
+ "value": string;
1663
+ }
1664
+ /**
1665
+ * Response Format Editor Component
1666
+ * Allows users to select which properties should be returned in the query response.
1667
+ * Supports selecting properties on both the main limetype and related limetypes
1668
+ * through belongsto relations.
1669
+ * Features:
1670
+ * - **Property selection**: Choose properties using dropdown navigation
1671
+ * - **Nested properties**: Select properties on related objects (e.g., company.name)
1672
+ * - **Property aliases**: Optionally rename properties in the response
1673
+ * - **Dynamic list**: Add/remove property selections
1674
+ * - **Real-time updates**: Changes immediately update the responseFormat
1675
+ * The component generates a `ResponseFormat` object with the `object` field
1676
+ * containing the selected properties.
1677
+ * @private
1678
+ */
1679
+ interface LimebbResponseFormatEditor {
1680
+ /**
1681
+ * Component context
1682
+ */
1683
+ "context": LimeWebComponentContext;
1684
+ /**
1685
+ * Optional label
1686
+ */
1687
+ "label": string;
1688
+ /**
1689
+ * The limetype to select properties from
1690
+ */
1691
+ "limetype": string;
1692
+ /**
1693
+ * Platform service provider
1694
+ */
1695
+ "platform": LimeWebComponentPlatform;
1696
+ /**
1697
+ * Current response format
1698
+ */
1699
+ "value": ResponseFormat;
1700
+ }
1701
+ /**
1702
+ * Response Format Property Item Component
1703
+ * Represents a single property selection with optional alias and description
1704
+ * Part of the response format editor
1705
+ * @private
1706
+ */
1707
+ interface LimebbResponseFormatItem {
1708
+ /**
1709
+ * Component context
1710
+ */
1711
+ "context": LimeWebComponentContext;
1712
+ /**
1713
+ * The property selection item
1714
+ */
1715
+ "item": PropertySelectionItem;
1716
+ /**
1717
+ * The limetype to select properties from
1718
+ */
1719
+ "limetype": string;
1720
+ /**
1721
+ * Platform service provider
1722
+ */
1723
+ "platform": LimeWebComponentPlatform;
1724
+ }
1208
1725
  /**
1209
1726
  * This component uses
1210
1727
  * [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)
@@ -1504,6 +2021,14 @@ export interface LimebbDateRangeCustomEvent<T> extends CustomEvent<T> {
1504
2021
  detail: T;
1505
2022
  target: HTMLLimebbDateRangeElement;
1506
2023
  }
2024
+ export interface LimebbDocumentItemCustomEvent<T> extends CustomEvent<T> {
2025
+ detail: T;
2026
+ target: HTMLLimebbDocumentItemElement;
2027
+ }
2028
+ export interface LimebbDocumentPickerCustomEvent<T> extends CustomEvent<T> {
2029
+ detail: T;
2030
+ target: HTMLLimebbDocumentPickerElement;
2031
+ }
1507
2032
  export interface LimebbFeedCustomEvent<T> extends CustomEvent<T> {
1508
2033
  detail: T;
1509
2034
  target: HTMLLimebbFeedElement;
@@ -1552,6 +2077,34 @@ export interface LimebbLimeQueryBuilderCustomEvent<T> extends CustomEvent<T> {
1552
2077
  detail: T;
1553
2078
  target: HTMLLimebbLimeQueryBuilderElement;
1554
2079
  }
2080
+ export interface LimebbLimeQueryFilterAndCustomEvent<T> extends CustomEvent<T> {
2081
+ detail: T;
2082
+ target: HTMLLimebbLimeQueryFilterAndElement;
2083
+ }
2084
+ export interface LimebbLimeQueryFilterComparisonCustomEvent<T> extends CustomEvent<T> {
2085
+ detail: T;
2086
+ target: HTMLLimebbLimeQueryFilterComparisonElement;
2087
+ }
2088
+ export interface LimebbLimeQueryFilterExpressionCustomEvent<T> extends CustomEvent<T> {
2089
+ detail: T;
2090
+ target: HTMLLimebbLimeQueryFilterExpressionElement;
2091
+ }
2092
+ export interface LimebbLimeQueryFilterNotCustomEvent<T> extends CustomEvent<T> {
2093
+ detail: T;
2094
+ target: HTMLLimebbLimeQueryFilterNotElement;
2095
+ }
2096
+ export interface LimebbLimeQueryFilterOrCustomEvent<T> extends CustomEvent<T> {
2097
+ detail: T;
2098
+ target: HTMLLimebbLimeQueryFilterOrElement;
2099
+ }
2100
+ export interface LimebbLimeQueryValueInputCustomEvent<T> extends CustomEvent<T> {
2101
+ detail: T;
2102
+ target: HTMLLimebbLimeQueryValueInputElement;
2103
+ }
2104
+ export interface LimebbLimetypeFieldCustomEvent<T> extends CustomEvent<T> {
2105
+ detail: T;
2106
+ target: HTMLLimebbLimetypeFieldElement;
2107
+ }
1555
2108
  export interface LimebbLoaderCustomEvent<T> extends CustomEvent<T> {
1556
2109
  detail: T;
1557
2110
  target: HTMLLimebbLoaderElement;
@@ -1568,6 +2121,18 @@ export interface LimebbNotificationListCustomEvent<T> extends CustomEvent<T> {
1568
2121
  detail: T;
1569
2122
  target: HTMLLimebbNotificationListElement;
1570
2123
  }
2124
+ export interface LimebbPropertySelectorCustomEvent<T> extends CustomEvent<T> {
2125
+ detail: T;
2126
+ target: HTMLLimebbPropertySelectorElement;
2127
+ }
2128
+ export interface LimebbResponseFormatEditorCustomEvent<T> extends CustomEvent<T> {
2129
+ detail: T;
2130
+ target: HTMLLimebbResponseFormatEditorElement;
2131
+ }
2132
+ export interface LimebbResponseFormatItemCustomEvent<T> extends CustomEvent<T> {
2133
+ detail: T;
2134
+ target: HTMLLimebbResponseFormatItemElement;
2135
+ }
1571
2136
  export interface LimebbSummaryPopoverCustomEvent<T> extends CustomEvent<T> {
1572
2137
  detail: T;
1573
2138
  target: HTMLLimebbSummaryPopoverElement;
@@ -1810,6 +2375,57 @@ declare global {
1810
2375
  prototype: HTMLLimebbDateRangeElement;
1811
2376
  new (): HTMLLimebbDateRangeElement;
1812
2377
  };
2378
+ interface HTMLLimebbDocumentItemElementEventMap {
2379
+ "interact": DocumentItem;
2380
+ }
2381
+ /**
2382
+ * Document item
2383
+ * Renders individual items of the document picker component.
2384
+ * @private
2385
+ */
2386
+ interface HTMLLimebbDocumentItemElement extends Components.LimebbDocumentItem, HTMLStencilElement {
2387
+ addEventListener<K extends keyof HTMLLimebbDocumentItemElementEventMap>(type: K, listener: (this: HTMLLimebbDocumentItemElement, ev: LimebbDocumentItemCustomEvent<HTMLLimebbDocumentItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2388
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2389
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2390
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2391
+ removeEventListener<K extends keyof HTMLLimebbDocumentItemElementEventMap>(type: K, listener: (this: HTMLLimebbDocumentItemElement, ev: LimebbDocumentItemCustomEvent<HTMLLimebbDocumentItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2392
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2393
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2394
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2395
+ }
2396
+ var HTMLLimebbDocumentItemElement: {
2397
+ prototype: HTMLLimebbDocumentItemElement;
2398
+ new (): HTMLLimebbDocumentItemElement;
2399
+ };
2400
+ interface HTMLLimebbDocumentPickerElementEventMap {
2401
+ "change": DocumentItem | DocumentItem[];
2402
+ }
2403
+ /**
2404
+ * The document picker component allows users to select one or more
2405
+ * files from a list of available documents.
2406
+ * It is primarily designed to facilitate the selection of files
2407
+ * that a user might want to import into the CRM, for example via
2408
+ * our Microsoft Outlook Add-in.
2409
+ * @exampleComponent limebb-example-document-picker-basic
2410
+ * @exampleComponent limebb-example-document-picker-selection-mode
2411
+ * @exampleComponent limebb-example-document-picker-limited-selection
2412
+ * @exampleComponent limebb-example-document-picker-contextual-info
2413
+ * @beta
2414
+ */
2415
+ interface HTMLLimebbDocumentPickerElement extends Components.LimebbDocumentPicker, HTMLStencilElement {
2416
+ addEventListener<K extends keyof HTMLLimebbDocumentPickerElementEventMap>(type: K, listener: (this: HTMLLimebbDocumentPickerElement, ev: LimebbDocumentPickerCustomEvent<HTMLLimebbDocumentPickerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2417
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2418
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2419
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2420
+ removeEventListener<K extends keyof HTMLLimebbDocumentPickerElementEventMap>(type: K, listener: (this: HTMLLimebbDocumentPickerElement, ev: LimebbDocumentPickerCustomEvent<HTMLLimebbDocumentPickerElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2421
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2422
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2423
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2424
+ }
2425
+ var HTMLLimebbDocumentPickerElement: {
2426
+ prototype: HTMLLimebbDocumentPickerElement;
2427
+ new (): HTMLLimebbDocumentPickerElement;
2428
+ };
1813
2429
  /**
1814
2430
  * An "empty state" in user interface design refers to the screen or space displayed, when there is no data
1815
2431
  * or content available to show to the user. This state typically occurs in new accounts, after clearing data,
@@ -2147,15 +2763,18 @@ declare global {
2147
2763
  }
2148
2764
  /**
2149
2765
  * Lime Query Builder Component
2150
- * A code editor for constructing Lime Query DSL queries in JSON format.
2766
+ * A comprehensive query builder for constructing Lime Query DSL queries.
2767
+ * This is the main component that combines limetype selection with the filter builder.
2151
2768
  * Features:
2152
- * - **JSON code editor**: Write queries using the Lime Query DSL
2153
- * - **Syntax validation**: Real-time validation of query structure
2154
- * - **Feature flag support**: GUI mode placeholder (not yet implemented)
2155
- * The component allows editing of complete `LimeQuery` objects that can be sent
2769
+ * - **Limetype selection**: Choose which object type to query
2770
+ * - **Filter builder**: Build complex filters with AND/OR/NOT logic
2771
+ * - **Property path selection**: Navigate through relations
2772
+ * - **Type-aware inputs**: Automatic input types based on property type
2773
+ * - **Response format**: Select which properties to return
2774
+ * - **Query options**: Configure limit and other query parameters
2775
+ * - **Real-time output**: See the Lime Query JSON as you build
2776
+ * The component produces a complete `LimeQuery` object that can be sent
2156
2777
  * directly to the Lime CRM backend.
2157
- * When the feature flag `useLimeQueryBuilderGuiMode` is enabled, a mode toggle
2158
- * becomes available, but GUI mode currently shows a placeholder message.
2159
2778
  * @exampleComponent limebb-example-lime-query-builder-basic
2160
2779
  * @private
2161
2780
  */
@@ -2173,6 +2792,196 @@ declare global {
2173
2792
  prototype: HTMLLimebbLimeQueryBuilderElement;
2174
2793
  new (): HTMLLimebbLimeQueryBuilderElement;
2175
2794
  };
2795
+ interface HTMLLimebbLimeQueryFilterAndElementEventMap {
2796
+ "expressionChange": LimeQueryFilterAnd | LimeQueryFilterMissing;
2797
+ }
2798
+ /**
2799
+ * Lime Query Filter AND Component
2800
+ * Renders a group of filter expressions where **all conditions must be true**.
2801
+ * Users can add multiple child expressions, and a record must match all of them
2802
+ * to be included in the result set.
2803
+ * This component displays:
2804
+ * - A header with "All of these conditions are true" when there are multiple conditions
2805
+ * - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
2806
+ * - An "Add another condition" button to add more expressions
2807
+ * Clicking the trash icon on a child expression removes it from the AND group.
2808
+ * @private
2809
+ */
2810
+ interface HTMLLimebbLimeQueryFilterAndElement extends Components.LimebbLimeQueryFilterAnd, HTMLStencilElement {
2811
+ addEventListener<K extends keyof HTMLLimebbLimeQueryFilterAndElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterAndElement, ev: LimebbLimeQueryFilterAndCustomEvent<HTMLLimebbLimeQueryFilterAndElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2812
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2813
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2814
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2815
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterAndElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterAndElement, ev: LimebbLimeQueryFilterAndCustomEvent<HTMLLimebbLimeQueryFilterAndElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2816
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2817
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2818
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2819
+ }
2820
+ var HTMLLimebbLimeQueryFilterAndElement: {
2821
+ prototype: HTMLLimebbLimeQueryFilterAndElement;
2822
+ new (): HTMLLimebbLimeQueryFilterAndElement;
2823
+ };
2824
+ interface HTMLLimebbLimeQueryFilterComparisonElementEventMap {
2825
+ "expressionChange": LimeQueryFilterComparison | LimeQueryFilterMissing;
2826
+ }
2827
+ /**
2828
+ * Lime Query Filter Comparison Component
2829
+ * Renders a single comparison expression with three parts:
2830
+ * 1. **Property** - The field to compare (e.g., "dealstatus", "company.name")
2831
+ * 2. **Operator** - The comparison operator (=, !=, >, <, >=, <=, IN, ?, =?, =$)
2832
+ * 3. **Value** - The value to compare against
2833
+ * This is the most basic building block of a filter. Examples:
2834
+ * - dealstatus = "won"
2835
+ * - value > 100000
2836
+ * - name ? "Big" (contains "Big")
2837
+ * - dealstatus IN ["won", "tender"]
2838
+ * The component displays:
2839
+ * - A text input for the property (Phase 0 - will be replaced with property-path in Phase 1)
2840
+ * - A dropdown for the operator
2841
+ * - A value input (text/number based on operator)
2842
+ * - A trash icon button to remove this condition
2843
+ * @private
2844
+ */
2845
+ interface HTMLLimebbLimeQueryFilterComparisonElement extends Components.LimebbLimeQueryFilterComparison, HTMLStencilElement {
2846
+ addEventListener<K extends keyof HTMLLimebbLimeQueryFilterComparisonElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterComparisonElement, ev: LimebbLimeQueryFilterComparisonCustomEvent<HTMLLimebbLimeQueryFilterComparisonElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2847
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2848
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2849
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2850
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterComparisonElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterComparisonElement, ev: LimebbLimeQueryFilterComparisonCustomEvent<HTMLLimebbLimeQueryFilterComparisonElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2851
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2852
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2853
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2854
+ }
2855
+ var HTMLLimebbLimeQueryFilterComparisonElement: {
2856
+ prototype: HTMLLimebbLimeQueryFilterComparisonElement;
2857
+ new (): HTMLLimebbLimeQueryFilterComparisonElement;
2858
+ };
2859
+ interface HTMLLimebbLimeQueryFilterExpressionElementEventMap {
2860
+ "expressionChange": LimeQueryFilterExpression;
2861
+ }
2862
+ /**
2863
+ * Lime Query Filter Expression Router
2864
+ * This is the main entry point for rendering Lime Query filters.
2865
+ * It routes to the appropriate sub-component based on the filter type:
2866
+ * - `'AND'` → limebb-lime-query-filter-and
2867
+ * - `'OR'` → limebb-lime-query-filter-or
2868
+ * - `'NOT'` → limebb-lime-query-filter-not
2869
+ * - `'comparison'` → limebb-lime-query-filter-comparison
2870
+ * - `''` (missing) → limebb-lime-query-filter-comparison (default)
2871
+ * Use this component when you need to render a complete filter expression
2872
+ * that may contain nested AND/OR/NOT logic.
2873
+ * @private
2874
+ */
2875
+ interface HTMLLimebbLimeQueryFilterExpressionElement extends Components.LimebbLimeQueryFilterExpression, HTMLStencilElement {
2876
+ addEventListener<K extends keyof HTMLLimebbLimeQueryFilterExpressionElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterExpressionElement, ev: LimebbLimeQueryFilterExpressionCustomEvent<HTMLLimebbLimeQueryFilterExpressionElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2877
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2878
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2879
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2880
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterExpressionElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterExpressionElement, ev: LimebbLimeQueryFilterExpressionCustomEvent<HTMLLimebbLimeQueryFilterExpressionElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2881
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2882
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2883
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2884
+ }
2885
+ var HTMLLimebbLimeQueryFilterExpressionElement: {
2886
+ prototype: HTMLLimebbLimeQueryFilterExpressionElement;
2887
+ new (): HTMLLimebbLimeQueryFilterExpressionElement;
2888
+ };
2889
+ interface HTMLLimebbLimeQueryFilterNotElementEventMap {
2890
+ "expressionChange": LimeQueryFilterNot | LimeQueryFilterMissing;
2891
+ }
2892
+ /**
2893
+ * Lime Query Filter NOT Component
2894
+ * Renders a negated filter expression. This inverts the logic of the child expression,
2895
+ * so records that would normally match will be excluded, and vice versa.
2896
+ * For example:
2897
+ * - NOT (status = "won") → Include all records where status is NOT "won"
2898
+ * - NOT (value > 100000) → Include all records where value is NOT greater than 100000
2899
+ * This component displays:
2900
+ * - A "Not" label
2901
+ * - A single child expression (which can be a comparison or nested AND/OR group)
2902
+ * Clicking the trash icon removes the entire NOT expression.
2903
+ * @private
2904
+ */
2905
+ interface HTMLLimebbLimeQueryFilterNotElement extends Components.LimebbLimeQueryFilterNot, HTMLStencilElement {
2906
+ addEventListener<K extends keyof HTMLLimebbLimeQueryFilterNotElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterNotElement, ev: LimebbLimeQueryFilterNotCustomEvent<HTMLLimebbLimeQueryFilterNotElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2907
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2908
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2909
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2910
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterNotElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterNotElement, ev: LimebbLimeQueryFilterNotCustomEvent<HTMLLimebbLimeQueryFilterNotElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2911
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2912
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2913
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2914
+ }
2915
+ var HTMLLimebbLimeQueryFilterNotElement: {
2916
+ prototype: HTMLLimebbLimeQueryFilterNotElement;
2917
+ new (): HTMLLimebbLimeQueryFilterNotElement;
2918
+ };
2919
+ interface HTMLLimebbLimeQueryFilterOrElementEventMap {
2920
+ "expressionChange": LimeQueryFilterOr | LimeQueryFilterMissing;
2921
+ }
2922
+ /**
2923
+ * Lime Query Filter OR Component
2924
+ * Renders a group of filter expressions where **at least one condition must be true**.
2925
+ * Users can add multiple alternative expressions, and a record only needs to match
2926
+ * one of them to be included in the result set.
2927
+ * This component displays:
2928
+ * - A header with "Any of these conditions is true" when there are multiple conditions
2929
+ * - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
2930
+ * - An "Add alternative" button to add more options
2931
+ * Clicking the trash icon on a child expression removes it from the OR group.
2932
+ * @private
2933
+ */
2934
+ interface HTMLLimebbLimeQueryFilterOrElement extends Components.LimebbLimeQueryFilterOr, HTMLStencilElement {
2935
+ addEventListener<K extends keyof HTMLLimebbLimeQueryFilterOrElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterOrElement, ev: LimebbLimeQueryFilterOrCustomEvent<HTMLLimebbLimeQueryFilterOrElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2936
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2937
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2938
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2939
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterOrElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterOrElement, ev: LimebbLimeQueryFilterOrCustomEvent<HTMLLimebbLimeQueryFilterOrElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2940
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2941
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2942
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2943
+ }
2944
+ var HTMLLimebbLimeQueryFilterOrElement: {
2945
+ prototype: HTMLLimebbLimeQueryFilterOrElement;
2946
+ new (): HTMLLimebbLimeQueryFilterOrElement;
2947
+ };
2948
+ interface HTMLLimebbLimeQueryValueInputElementEventMap {
2949
+ "change": any;
2950
+ }
2951
+ /**
2952
+ * Query Value Input Component
2953
+ * Renders an appropriate input control based on the property type and operator.
2954
+ * This component automatically adapts its UI to match the data type of the selected
2955
+ * property, providing a better user experience and data validation.
2956
+ * Supported input types:
2957
+ * - **String/Text**: Standard text input field
2958
+ * - **Integer/Decimal**: Number input with appropriate step values
2959
+ * - **Date**: Date picker returning ISO date strings
2960
+ * - **Time**: Time input field
2961
+ * - **Boolean (yesno)**: True/False dropdown
2962
+ * - **Option**: Dropdown populated with valid options from property definition
2963
+ * - **IN operator**: Comma-separated input for multiple values (any type)
2964
+ * - **Placeholder mode**: Select properties from active object using %activeObject%
2965
+ * The component handles type conversions automatically:
2966
+ * - Numbers are parsed from string inputs
2967
+ * - Dates are converted to/from ISO strings
2968
+ * - Booleans are converted to/from strings for dropdown compatibility
2969
+ * @private
2970
+ */
2971
+ interface HTMLLimebbLimeQueryValueInputElement extends Components.LimebbLimeQueryValueInput, HTMLStencilElement {
2972
+ addEventListener<K extends keyof HTMLLimebbLimeQueryValueInputElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryValueInputElement, ev: LimebbLimeQueryValueInputCustomEvent<HTMLLimebbLimeQueryValueInputElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2973
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2974
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2975
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2976
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryValueInputElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryValueInputElement, ev: LimebbLimeQueryValueInputCustomEvent<HTMLLimebbLimeQueryValueInputElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2977
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2978
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2979
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2980
+ }
2981
+ var HTMLLimebbLimeQueryValueInputElement: {
2982
+ prototype: HTMLLimebbLimeQueryValueInputElement;
2983
+ new (): HTMLLimebbLimeQueryValueInputElement;
2984
+ };
2176
2985
  /**
2177
2986
  * Component for displaying the contents of an attached file on a limeobject
2178
2987
  * Example use case is to use it as a tab on the document card
@@ -2187,6 +2996,38 @@ declare global {
2187
2996
  prototype: HTMLLimebbLimeobjectFileViewerElement;
2188
2997
  new (): HTMLLimebbLimeobjectFileViewerElement;
2189
2998
  };
2999
+ interface HTMLLimebbLimetypeFieldElementEventMap {
3000
+ "change": string;
3001
+ }
3002
+ /**
3003
+ * Limetype Field Component
3004
+ * A dropdown selector for choosing a limetype (object type) from the available
3005
+ * limetypes in the system.
3006
+ * This component:
3007
+ * - Displays all limetypes with their icons and localized names
3008
+ * - Supports restricting to a specific list of limetypes
3009
+ * - Can update dependent property-path fields when selection changes
3010
+ * - Implements the FormComponent interface for use in forms
3011
+ * Common use cases:
3012
+ * - Selecting which object type to query in a lime query builder
3013
+ * - Choosing target limetype for relations
3014
+ * - Configuring limetype-dependent settings
3015
+ * @private
3016
+ */
3017
+ interface HTMLLimebbLimetypeFieldElement extends Components.LimebbLimetypeField, HTMLStencilElement {
3018
+ addEventListener<K extends keyof HTMLLimebbLimetypeFieldElementEventMap>(type: K, listener: (this: HTMLLimebbLimetypeFieldElement, ev: LimebbLimetypeFieldCustomEvent<HTMLLimebbLimetypeFieldElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
3019
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3020
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3021
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3022
+ removeEventListener<K extends keyof HTMLLimebbLimetypeFieldElementEventMap>(type: K, listener: (this: HTMLLimebbLimetypeFieldElement, ev: LimebbLimetypeFieldCustomEvent<HTMLLimebbLimetypeFieldElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
3023
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3024
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3025
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
3026
+ }
3027
+ var HTMLLimebbLimetypeFieldElement: {
3028
+ prototype: HTMLLimebbLimetypeFieldElement;
3029
+ new (): HTMLLimebbLimetypeFieldElement;
3030
+ };
2190
3031
  /**
2191
3032
  * @private
2192
3033
  */
@@ -2337,38 +3178,124 @@ declare global {
2337
3178
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2338
3179
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2339
3180
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2340
- removeEventListener<K extends keyof HTMLLimebbNotificationListElementEventMap>(type: K, listener: (this: HTMLLimebbNotificationListElement, ev: LimebbNotificationListCustomEvent<HTMLLimebbNotificationListElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
3181
+ removeEventListener<K extends keyof HTMLLimebbNotificationListElementEventMap>(type: K, listener: (this: HTMLLimebbNotificationListElement, ev: LimebbNotificationListCustomEvent<HTMLLimebbNotificationListElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
3182
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3183
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3184
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
3185
+ }
3186
+ var HTMLLimebbNotificationListElement: {
3187
+ prototype: HTMLLimebbNotificationListElement;
3188
+ new (): HTMLLimebbNotificationListElement;
3189
+ };
3190
+ /**
3191
+ * This component generates a visualization that displays a percentage value
3192
+ * alongside a horizontal bar showing the percentage visually.
3193
+ * It can be used to display completion rates, usage metrics, or any other
3194
+ * value that can be represented as a percentage.
3195
+ * The component is designed to be used in read-only contexts, such as displaying
3196
+ * field values in a CRM object card.
3197
+ * :::note
3198
+ * The percentage visualizer displays only one digit after the decimal point!
3199
+ * :::
3200
+ * @exampleComponent limebb-percentage-visualizer-basic
3201
+ * @exampleComponent limebb-percentage-visualizer-multiplier
3202
+ * @exampleComponent limebb-percentage-visualizer-range
3203
+ * @exampleComponent limebb-percentage-visualizer-reduce-presence
3204
+ * @exampleComponent limebb-percentage-visualizer-colors
3205
+ * @exampleComponent limebb-percentage-visualizer-composite
3206
+ * @beta
3207
+ */
3208
+ interface HTMLLimebbPercentageVisualizerElement extends Components.LimebbPercentageVisualizer, HTMLStencilElement {
3209
+ }
3210
+ var HTMLLimebbPercentageVisualizerElement: {
3211
+ prototype: HTMLLimebbPercentageVisualizerElement;
3212
+ new (): HTMLLimebbPercentageVisualizerElement;
3213
+ };
3214
+ interface HTMLLimebbPropertySelectorElementEventMap {
3215
+ "change": string;
3216
+ }
3217
+ /**
3218
+ * Property Selector Component
3219
+ * A menu-based property selector that allows users to navigate through properties
3220
+ * and relations, only emitting complete property paths (not intermediate relations).
3221
+ * Similar to limec-context-expression but specifically for selecting properties
3222
+ * with dot-notation paths.
3223
+ * Features:
3224
+ * - Menu-based navigation through properties
3225
+ * - Submenu support for drilling into relations
3226
+ * - Internal state management during navigation
3227
+ * - Only emits complete paths (leaf properties)
3228
+ * - Chip-set display showing current path
3229
+ * @private
3230
+ */
3231
+ interface HTMLLimebbPropertySelectorElement extends Components.LimebbPropertySelector, HTMLStencilElement {
3232
+ addEventListener<K extends keyof HTMLLimebbPropertySelectorElementEventMap>(type: K, listener: (this: HTMLLimebbPropertySelectorElement, ev: LimebbPropertySelectorCustomEvent<HTMLLimebbPropertySelectorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
3233
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3234
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3235
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3236
+ removeEventListener<K extends keyof HTMLLimebbPropertySelectorElementEventMap>(type: K, listener: (this: HTMLLimebbPropertySelectorElement, ev: LimebbPropertySelectorCustomEvent<HTMLLimebbPropertySelectorElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
3237
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3238
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3239
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
3240
+ }
3241
+ var HTMLLimebbPropertySelectorElement: {
3242
+ prototype: HTMLLimebbPropertySelectorElement;
3243
+ new (): HTMLLimebbPropertySelectorElement;
3244
+ };
3245
+ interface HTMLLimebbResponseFormatEditorElementEventMap {
3246
+ "change": ResponseFormat;
3247
+ }
3248
+ /**
3249
+ * Response Format Editor Component
3250
+ * Allows users to select which properties should be returned in the query response.
3251
+ * Supports selecting properties on both the main limetype and related limetypes
3252
+ * through belongsto relations.
3253
+ * Features:
3254
+ * - **Property selection**: Choose properties using dropdown navigation
3255
+ * - **Nested properties**: Select properties on related objects (e.g., company.name)
3256
+ * - **Property aliases**: Optionally rename properties in the response
3257
+ * - **Dynamic list**: Add/remove property selections
3258
+ * - **Real-time updates**: Changes immediately update the responseFormat
3259
+ * The component generates a `ResponseFormat` object with the `object` field
3260
+ * containing the selected properties.
3261
+ * @private
3262
+ */
3263
+ interface HTMLLimebbResponseFormatEditorElement extends Components.LimebbResponseFormatEditor, HTMLStencilElement {
3264
+ addEventListener<K extends keyof HTMLLimebbResponseFormatEditorElementEventMap>(type: K, listener: (this: HTMLLimebbResponseFormatEditorElement, ev: LimebbResponseFormatEditorCustomEvent<HTMLLimebbResponseFormatEditorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
3265
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3266
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3267
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3268
+ removeEventListener<K extends keyof HTMLLimebbResponseFormatEditorElementEventMap>(type: K, listener: (this: HTMLLimebbResponseFormatEditorElement, ev: LimebbResponseFormatEditorCustomEvent<HTMLLimebbResponseFormatEditorElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
3269
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3270
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3271
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
3272
+ }
3273
+ var HTMLLimebbResponseFormatEditorElement: {
3274
+ prototype: HTMLLimebbResponseFormatEditorElement;
3275
+ new (): HTMLLimebbResponseFormatEditorElement;
3276
+ };
3277
+ interface HTMLLimebbResponseFormatItemElementEventMap {
3278
+ "itemChange": PropertySelectionItem | null;
3279
+ }
3280
+ /**
3281
+ * Response Format Property Item Component
3282
+ * Represents a single property selection with optional alias and description
3283
+ * Part of the response format editor
3284
+ * @private
3285
+ */
3286
+ interface HTMLLimebbResponseFormatItemElement extends Components.LimebbResponseFormatItem, HTMLStencilElement {
3287
+ addEventListener<K extends keyof HTMLLimebbResponseFormatItemElementEventMap>(type: K, listener: (this: HTMLLimebbResponseFormatItemElement, ev: LimebbResponseFormatItemCustomEvent<HTMLLimebbResponseFormatItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
3288
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3289
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3290
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3291
+ removeEventListener<K extends keyof HTMLLimebbResponseFormatItemElementEventMap>(type: K, listener: (this: HTMLLimebbResponseFormatItemElement, ev: LimebbResponseFormatItemCustomEvent<HTMLLimebbResponseFormatItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2341
3292
  removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2342
3293
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2343
3294
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2344
3295
  }
2345
- var HTMLLimebbNotificationListElement: {
2346
- prototype: HTMLLimebbNotificationListElement;
2347
- new (): HTMLLimebbNotificationListElement;
2348
- };
2349
- /**
2350
- * This component generates a visualization that displays a percentage value
2351
- * alongside a horizontal bar showing the percentage visually.
2352
- * It can be used to display completion rates, usage metrics, or any other
2353
- * value that can be represented as a percentage.
2354
- * The component is designed to be used in read-only contexts, such as displaying
2355
- * field values in a CRM object card.
2356
- * :::note
2357
- * The percentage visualizer displays only one digit after the decimal point!
2358
- * :::
2359
- * @exampleComponent limebb-percentage-visualizer-basic
2360
- * @exampleComponent limebb-percentage-visualizer-multiplier
2361
- * @exampleComponent limebb-percentage-visualizer-range
2362
- * @exampleComponent limebb-percentage-visualizer-reduce-presence
2363
- * @exampleComponent limebb-percentage-visualizer-colors
2364
- * @exampleComponent limebb-percentage-visualizer-composite
2365
- * @beta
2366
- */
2367
- interface HTMLLimebbPercentageVisualizerElement extends Components.LimebbPercentageVisualizer, HTMLStencilElement {
2368
- }
2369
- var HTMLLimebbPercentageVisualizerElement: {
2370
- prototype: HTMLLimebbPercentageVisualizerElement;
2371
- new (): HTMLLimebbPercentageVisualizerElement;
3296
+ var HTMLLimebbResponseFormatItemElement: {
3297
+ prototype: HTMLLimebbResponseFormatItemElement;
3298
+ new (): HTMLLimebbResponseFormatItemElement;
2372
3299
  };
2373
3300
  interface HTMLLimebbSummaryPopoverElementEventMap {
2374
3301
  "actionSelected": ActionBarItem;
@@ -2539,6 +3466,8 @@ declare global {
2539
3466
  "limebb-dashboard-widget": HTMLLimebbDashboardWidgetElement;
2540
3467
  "limebb-date-picker": HTMLLimebbDatePickerElement;
2541
3468
  "limebb-date-range": HTMLLimebbDateRangeElement;
3469
+ "limebb-document-item": HTMLLimebbDocumentItemElement;
3470
+ "limebb-document-picker": HTMLLimebbDocumentPickerElement;
2542
3471
  "limebb-empty-state": HTMLLimebbEmptyStateElement;
2543
3472
  "limebb-feed": HTMLLimebbFeedElement;
2544
3473
  "limebb-feed-item-thumbnail-file-info": HTMLLimebbFeedItemThumbnailFileInfoElement;
@@ -2555,7 +3484,14 @@ declare global {
2555
3484
  "limebb-kanban-group": HTMLLimebbKanbanGroupElement;
2556
3485
  "limebb-kanban-item": HTMLLimebbKanbanItemElement;
2557
3486
  "limebb-lime-query-builder": HTMLLimebbLimeQueryBuilderElement;
3487
+ "limebb-lime-query-filter-and": HTMLLimebbLimeQueryFilterAndElement;
3488
+ "limebb-lime-query-filter-comparison": HTMLLimebbLimeQueryFilterComparisonElement;
3489
+ "limebb-lime-query-filter-expression": HTMLLimebbLimeQueryFilterExpressionElement;
3490
+ "limebb-lime-query-filter-not": HTMLLimebbLimeQueryFilterNotElement;
3491
+ "limebb-lime-query-filter-or": HTMLLimebbLimeQueryFilterOrElement;
3492
+ "limebb-lime-query-value-input": HTMLLimebbLimeQueryValueInputElement;
2558
3493
  "limebb-limeobject-file-viewer": HTMLLimebbLimeobjectFileViewerElement;
3494
+ "limebb-limetype-field": HTMLLimebbLimetypeFieldElement;
2559
3495
  "limebb-live-docs-info": HTMLLimebbLiveDocsInfoElement;
2560
3496
  "limebb-loader": HTMLLimebbLoaderElement;
2561
3497
  "limebb-locale-picker": HTMLLimebbLocalePickerElement;
@@ -2565,6 +3501,9 @@ declare global {
2565
3501
  "limebb-notification-item": HTMLLimebbNotificationItemElement;
2566
3502
  "limebb-notification-list": HTMLLimebbNotificationListElement;
2567
3503
  "limebb-percentage-visualizer": HTMLLimebbPercentageVisualizerElement;
3504
+ "limebb-property-selector": HTMLLimebbPropertySelectorElement;
3505
+ "limebb-response-format-editor": HTMLLimebbResponseFormatEditorElement;
3506
+ "limebb-response-format-item": HTMLLimebbResponseFormatItemElement;
2568
3507
  "limebb-summary-popover": HTMLLimebbSummaryPopoverElement;
2569
3508
  "limebb-text-editor": HTMLLimebbTextEditorElement;
2570
3509
  "limebb-text-editor-picker": HTMLLimebbTextEditorPickerElement;
@@ -3024,6 +3963,87 @@ declare namespace LocalJSX {
3024
3963
  */
3025
3964
  "type"?: DateType;
3026
3965
  }
3966
+ /**
3967
+ * Document item
3968
+ * Renders individual items of the document picker component.
3969
+ * @private
3970
+ */
3971
+ interface LimebbDocumentItem {
3972
+ /**
3973
+ * The context this component belongs to
3974
+ * @inheritdoc
3975
+ */
3976
+ "context"?: LimeWebComponentContext;
3977
+ /**
3978
+ * The item to display in the document picker.
3979
+ */
3980
+ "item"?: DocumentItem;
3981
+ /**
3982
+ * Fired when clicking on the document item.
3983
+ */
3984
+ "onInteract"?: (event: LimebbDocumentItemCustomEvent<DocumentItem>) => void;
3985
+ /**
3986
+ * Reference to the platform
3987
+ * @inheritdoc
3988
+ */
3989
+ "platform": LimeWebComponentPlatform;
3990
+ /**
3991
+ * The semantic role of the list item. - 'radio': renders a radio button for single selection. - 'checkbox': renders a checkbox for multiple selection.
3992
+ */
3993
+ "type"?: 'radio' | 'checkbox';
3994
+ }
3995
+ /**
3996
+ * The document picker component allows users to select one or more
3997
+ * files from a list of available documents.
3998
+ * It is primarily designed to facilitate the selection of files
3999
+ * that a user might want to import into the CRM, for example via
4000
+ * our Microsoft Outlook Add-in.
4001
+ * @exampleComponent limebb-example-document-picker-basic
4002
+ * @exampleComponent limebb-example-document-picker-selection-mode
4003
+ * @exampleComponent limebb-example-document-picker-limited-selection
4004
+ * @exampleComponent limebb-example-document-picker-contextual-info
4005
+ * @beta
4006
+ */
4007
+ interface LimebbDocumentPicker {
4008
+ /**
4009
+ * The context this component belongs to
4010
+ * @inheritdoc
4011
+ */
4012
+ "context"?: LimeWebComponentContext;
4013
+ /**
4014
+ * Optional helper text to display below the items.
4015
+ */
4016
+ "helperText"?: string;
4017
+ /**
4018
+ * Set to `true` to indicate that the current selection is invalid.
4019
+ */
4020
+ "invalid"?: boolean;
4021
+ /**
4022
+ * The list of document items to display in the picker.
4023
+ */
4024
+ "items"?: DocumentItem[];
4025
+ /**
4026
+ * Label to display for the group of items.
4027
+ */
4028
+ "label"?: string;
4029
+ /**
4030
+ * Fired when a user changes the selection state of an item.
4031
+ */
4032
+ "onChange"?: (event: LimebbDocumentPickerCustomEvent<DocumentItem | DocumentItem[]>) => void;
4033
+ /**
4034
+ * Reference to the platform
4035
+ * @inheritdoc
4036
+ */
4037
+ "platform": LimeWebComponentPlatform;
4038
+ /**
4039
+ * Set to `true` to indicate that selecting an item is required.
4040
+ */
4041
+ "required"?: boolean;
4042
+ /**
4043
+ * Defines whether the picker allows single or multiple selection. - 'radio': Allows single selection within a group. - 'checkbox': Allows multiple selection.
4044
+ */
4045
+ "type"?: DocumentType;
4046
+ }
3027
4047
  /**
3028
4048
  * An "empty state" in user interface design refers to the screen or space displayed, when there is no data
3029
4049
  * or content available to show to the user. This state typically occurs in new accounts, after clearing data,
@@ -3404,124 +4424,403 @@ declare namespace LocalJSX {
3404
4424
  /**
3405
4425
  * Emitted when an item is interacted with
3406
4426
  */
3407
- "onInteract"?: (event: LimebbKanbanCustomEvent<KanbanItem>) => void;
4427
+ "onInteract"?: (event: LimebbKanbanCustomEvent<KanbanItem>) => void;
4428
+ /**
4429
+ * Emitted when the load more button is clicked
4430
+ */
4431
+ "onLoadMore"?: (event: LimebbKanbanCustomEvent<KanbanGroup>) => void;
4432
+ /**
4433
+ * Reference to the platform
4434
+ * @inheritdoc
4435
+ */
4436
+ "platform": LimeWebComponentPlatform;
4437
+ }
4438
+ /**
4439
+ * This component generates the groups for `limebb-kanban`.
4440
+ * @private
4441
+ */
4442
+ interface LimebbKanbanGroup {
4443
+ /**
4444
+ * The context this component belongs to
4445
+ * @inheritdoc
4446
+ */
4447
+ "context"?: LimeWebComponentContext;
4448
+ /**
4449
+ * The title of the group, which is taken from the `groupBy` property of the `limebb-kanban` component.
4450
+ */
4451
+ "heading"?: string;
4452
+ /**
4453
+ * Description of the group
4454
+ */
4455
+ "help"?: string;
4456
+ /**
4457
+ * A unique identifier for the group.
4458
+ */
4459
+ "identifier"?: string;
4460
+ /**
4461
+ * List of items to display in the group.
4462
+ */
4463
+ "items"?: KanbanItem[];
4464
+ /**
4465
+ * True if items have not finished loading.
4466
+ */
4467
+ "loading"?: boolean;
4468
+ /**
4469
+ * Emitted when the load more button is clicked
4470
+ */
4471
+ "onLoadMore"?: (event: LimebbKanbanGroupCustomEvent<KanbanGroup['identifier']>) => void;
4472
+ /**
4473
+ * Reference to the platform
4474
+ * @inheritdoc
4475
+ */
4476
+ "platform": LimeWebComponentPlatform;
4477
+ /**
4478
+ * The summary of the group.
4479
+ */
4480
+ "summary"?: string;
4481
+ /**
4482
+ * Total number of items available for the group. This is used to determine if the "load more" button should be displayed.
4483
+ */
4484
+ "totalCount"?: number;
4485
+ }
4486
+ /**
4487
+ * Feed item
4488
+ * @private
4489
+ */
4490
+ interface LimebbKanbanItem {
4491
+ /**
4492
+ * The context this component belongs to
4493
+ * @inheritdoc
4494
+ */
4495
+ "context"?: LimeWebComponentContext;
4496
+ /**
4497
+ * The item to display in the Kanban group.
4498
+ */
4499
+ "item"?: KanbanItem;
4500
+ /**
4501
+ * Fired when clicking on the Kanban item.
4502
+ */
4503
+ "onInteract"?: (event: LimebbKanbanItemCustomEvent<KanbanItem>) => void;
4504
+ /**
4505
+ * Reference to the platform
4506
+ * @inheritdoc
4507
+ */
4508
+ "platform": LimeWebComponentPlatform;
4509
+ }
4510
+ /**
4511
+ * Lime Query Builder Component
4512
+ * A comprehensive query builder for constructing Lime Query DSL queries.
4513
+ * This is the main component that combines limetype selection with the filter builder.
4514
+ * Features:
4515
+ * - **Limetype selection**: Choose which object type to query
4516
+ * - **Filter builder**: Build complex filters with AND/OR/NOT logic
4517
+ * - **Property path selection**: Navigate through relations
4518
+ * - **Type-aware inputs**: Automatic input types based on property type
4519
+ * - **Response format**: Select which properties to return
4520
+ * - **Query options**: Configure limit and other query parameters
4521
+ * - **Real-time output**: See the Lime Query JSON as you build
4522
+ * The component produces a complete `LimeQuery` object that can be sent
4523
+ * directly to the Lime CRM backend.
4524
+ * @exampleComponent limebb-example-lime-query-builder-basic
4525
+ * @private
4526
+ */
4527
+ interface LimebbLimeQueryBuilder {
4528
+ /**
4529
+ * Component context
4530
+ */
4531
+ "context"?: LimeWebComponentContext;
4532
+ /**
4533
+ * Optional label for the Lime Query builder
4534
+ */
4535
+ "label"?: string;
4536
+ /**
4537
+ * Emitted when the Lime Query changes
4538
+ */
4539
+ "onChange"?: (event: LimebbLimeQueryBuilderCustomEvent<LimeQuery>) => void;
4540
+ /**
4541
+ * Platform service provider
4542
+ */
4543
+ "platform"?: LimeWebComponentPlatform;
4544
+ /**
4545
+ * The complete Lime Query object
4546
+ */
4547
+ "value"?: LimeQuery;
4548
+ }
4549
+ /**
4550
+ * Lime Query Filter AND Component
4551
+ * Renders a group of filter expressions where **all conditions must be true**.
4552
+ * Users can add multiple child expressions, and a record must match all of them
4553
+ * to be included in the result set.
4554
+ * This component displays:
4555
+ * - A header with "All of these conditions are true" when there are multiple conditions
4556
+ * - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
4557
+ * - An "Add another condition" button to add more expressions
4558
+ * Clicking the trash icon on a child expression removes it from the AND group.
4559
+ * @private
4560
+ */
4561
+ interface LimebbLimeQueryFilterAnd {
4562
+ /**
4563
+ * The limetype of the active object (for %activeObject% placeholders)
4564
+ */
4565
+ "activeLimetype"?: string;
4566
+ /**
4567
+ * Component context
4568
+ */
4569
+ "context"?: LimeWebComponentContext;
4570
+ /**
4571
+ * The AND expression containing child expressions
4572
+ */
4573
+ "expression"?: LimeQueryFilterAnd;
4574
+ /**
4575
+ * Optional label for the AND group
4576
+ */
4577
+ "label"?: string;
4578
+ /**
4579
+ * The limetype being queried (e.g., "deal", "company")
4580
+ */
4581
+ "limetype"?: string;
4582
+ /**
4583
+ * Emitted when the AND expression changes (expressions added/removed/modified)
4584
+ */
4585
+ "onExpressionChange"?: (event: LimebbLimeQueryFilterAndCustomEvent<LimeQueryFilterAnd | LimeQueryFilterMissing>) => void;
4586
+ /**
4587
+ * Platform service provider
4588
+ */
4589
+ "platform"?: LimeWebComponentPlatform;
4590
+ }
4591
+ /**
4592
+ * Lime Query Filter Comparison Component
4593
+ * Renders a single comparison expression with three parts:
4594
+ * 1. **Property** - The field to compare (e.g., "dealstatus", "company.name")
4595
+ * 2. **Operator** - The comparison operator (=, !=, >, <, >=, <=, IN, ?, =?, =$)
4596
+ * 3. **Value** - The value to compare against
4597
+ * This is the most basic building block of a filter. Examples:
4598
+ * - dealstatus = "won"
4599
+ * - value > 100000
4600
+ * - name ? "Big" (contains "Big")
4601
+ * - dealstatus IN ["won", "tender"]
4602
+ * The component displays:
4603
+ * - A text input for the property (Phase 0 - will be replaced with property-path in Phase 1)
4604
+ * - A dropdown for the operator
4605
+ * - A value input (text/number based on operator)
4606
+ * - A trash icon button to remove this condition
4607
+ * @private
4608
+ */
4609
+ interface LimebbLimeQueryFilterComparison {
4610
+ /**
4611
+ * The limetype of the active object (for %activeObject% placeholders)
4612
+ */
4613
+ "activeLimetype"?: string;
4614
+ /**
4615
+ * Component context
4616
+ */
4617
+ "context"?: LimeWebComponentContext;
4618
+ /**
4619
+ * The comparison expression to render
4620
+ */
4621
+ "expression"?: LimeQueryFilterComparison;
4622
+ /**
4623
+ * Optional label for the comparison
4624
+ */
4625
+ "label"?: string;
4626
+ /**
4627
+ * The limetype being queried (e.g., "deal", "company")
4628
+ */
4629
+ "limetype"?: string;
4630
+ /**
4631
+ * Emitted when the comparison expression changes (property/operator/value modified)
4632
+ */
4633
+ "onExpressionChange"?: (event: LimebbLimeQueryFilterComparisonCustomEvent<LimeQueryFilterComparison | LimeQueryFilterMissing>) => void;
4634
+ /**
4635
+ * Platform service provider
4636
+ */
4637
+ "platform"?: LimeWebComponentPlatform;
4638
+ }
4639
+ /**
4640
+ * Lime Query Filter Expression Router
4641
+ * This is the main entry point for rendering Lime Query filters.
4642
+ * It routes to the appropriate sub-component based on the filter type:
4643
+ * - `'AND'` → limebb-lime-query-filter-and
4644
+ * - `'OR'` → limebb-lime-query-filter-or
4645
+ * - `'NOT'` → limebb-lime-query-filter-not
4646
+ * - `'comparison'` → limebb-lime-query-filter-comparison
4647
+ * - `''` (missing) → limebb-lime-query-filter-comparison (default)
4648
+ * Use this component when you need to render a complete filter expression
4649
+ * that may contain nested AND/OR/NOT logic.
4650
+ * @private
4651
+ */
4652
+ interface LimebbLimeQueryFilterExpression {
4653
+ /**
4654
+ * The limetype of the active object (for %activeObject% placeholders) Optional - used for validation and property suggestions
4655
+ */
4656
+ "activeLimetype"?: string;
4657
+ /**
4658
+ * Component context
4659
+ */
4660
+ "context"?: LimeWebComponentContext;
4661
+ /**
4662
+ * The filter expression to render
4663
+ */
4664
+ "expression"?: LimeQueryFilterExpression;
4665
+ /**
4666
+ * Optional label for the expression
4667
+ */
4668
+ "label"?: string;
4669
+ /**
4670
+ * The limetype being queried (e.g., "deal", "company") Used for property validation and type-aware inputs
4671
+ */
4672
+ "limetype"?: string;
3408
4673
  /**
3409
- * Emitted when the load more button is clicked
4674
+ * Emitted when the filter expression changes
3410
4675
  */
3411
- "onLoadMore"?: (event: LimebbKanbanCustomEvent<KanbanGroup>) => void;
4676
+ "onExpressionChange"?: (event: LimebbLimeQueryFilterExpressionCustomEvent<LimeQueryFilterExpression>) => void;
3412
4677
  /**
3413
- * Reference to the platform
3414
- * @inheritdoc
4678
+ * Platform service provider
3415
4679
  */
3416
- "platform": LimeWebComponentPlatform;
4680
+ "platform"?: LimeWebComponentPlatform;
3417
4681
  }
3418
4682
  /**
3419
- * This component generates the groups for `limebb-kanban`.
4683
+ * Lime Query Filter NOT Component
4684
+ * Renders a negated filter expression. This inverts the logic of the child expression,
4685
+ * so records that would normally match will be excluded, and vice versa.
4686
+ * For example:
4687
+ * - NOT (status = "won") → Include all records where status is NOT "won"
4688
+ * - NOT (value > 100000) → Include all records where value is NOT greater than 100000
4689
+ * This component displays:
4690
+ * - A "Not" label
4691
+ * - A single child expression (which can be a comparison or nested AND/OR group)
4692
+ * Clicking the trash icon removes the entire NOT expression.
3420
4693
  * @private
3421
4694
  */
3422
- interface LimebbKanbanGroup {
4695
+ interface LimebbLimeQueryFilterNot {
3423
4696
  /**
3424
- * The context this component belongs to
3425
- * @inheritdoc
4697
+ * The limetype of the active object (for %activeObject% placeholders)
3426
4698
  */
3427
- "context"?: LimeWebComponentContext;
4699
+ "activeLimetype"?: string;
3428
4700
  /**
3429
- * The title of the group, which is taken from the `groupBy` property of the `limebb-kanban` component.
4701
+ * Component context
3430
4702
  */
3431
- "heading"?: string;
4703
+ "context"?: LimeWebComponentContext;
3432
4704
  /**
3433
- * Description of the group
4705
+ * The NOT expression containing the child expression to negate
3434
4706
  */
3435
- "help"?: string;
4707
+ "expression"?: LimeQueryFilterNot;
3436
4708
  /**
3437
- * A unique identifier for the group.
4709
+ * Optional label for the NOT expression
3438
4710
  */
3439
- "identifier"?: string;
4711
+ "label"?: string;
3440
4712
  /**
3441
- * List of items to display in the group.
4713
+ * The limetype being queried (e.g., "deal", "company")
3442
4714
  */
3443
- "items"?: KanbanItem[];
4715
+ "limetype"?: string;
3444
4716
  /**
3445
- * True if items have not finished loading.
4717
+ * Emitted when the NOT expression changes (child expression modified or removed)
3446
4718
  */
3447
- "loading"?: boolean;
4719
+ "onExpressionChange"?: (event: LimebbLimeQueryFilterNotCustomEvent<LimeQueryFilterNot | LimeQueryFilterMissing>) => void;
3448
4720
  /**
3449
- * Emitted when the load more button is clicked
4721
+ * Platform service provider
3450
4722
  */
3451
- "onLoadMore"?: (event: LimebbKanbanGroupCustomEvent<KanbanGroup['identifier']>) => void;
4723
+ "platform"?: LimeWebComponentPlatform;
4724
+ }
4725
+ /**
4726
+ * Lime Query Filter OR Component
4727
+ * Renders a group of filter expressions where **at least one condition must be true**.
4728
+ * Users can add multiple alternative expressions, and a record only needs to match
4729
+ * one of them to be included in the result set.
4730
+ * This component displays:
4731
+ * - A header with "Any of these conditions is true" when there are multiple conditions
4732
+ * - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
4733
+ * - An "Add alternative" button to add more options
4734
+ * Clicking the trash icon on a child expression removes it from the OR group.
4735
+ * @private
4736
+ */
4737
+ interface LimebbLimeQueryFilterOr {
3452
4738
  /**
3453
- * Reference to the platform
3454
- * @inheritdoc
4739
+ * The limetype of the active object (for %activeObject% placeholders)
3455
4740
  */
3456
- "platform": LimeWebComponentPlatform;
4741
+ "activeLimetype"?: string;
3457
4742
  /**
3458
- * The summary of the group.
4743
+ * Component context
3459
4744
  */
3460
- "summary"?: string;
4745
+ "context"?: LimeWebComponentContext;
3461
4746
  /**
3462
- * Total number of items available for the group. This is used to determine if the "load more" button should be displayed.
4747
+ * The OR expression containing child expressions
3463
4748
  */
3464
- "totalCount"?: number;
3465
- }
3466
- /**
3467
- * Feed item
3468
- * @private
3469
- */
3470
- interface LimebbKanbanItem {
4749
+ "expression"?: LimeQueryFilterOr;
3471
4750
  /**
3472
- * The context this component belongs to
3473
- * @inheritdoc
4751
+ * Optional label for the OR group
3474
4752
  */
3475
- "context"?: LimeWebComponentContext;
4753
+ "label"?: string;
3476
4754
  /**
3477
- * The item to display in the Kanban group.
4755
+ * The limetype being queried (e.g., "deal", "company")
3478
4756
  */
3479
- "item"?: KanbanItem;
4757
+ "limetype"?: string;
3480
4758
  /**
3481
- * Fired when clicking on the Kanban item.
4759
+ * Emitted when the OR expression changes (expressions added/removed/modified)
3482
4760
  */
3483
- "onInteract"?: (event: LimebbKanbanItemCustomEvent<KanbanItem>) => void;
4761
+ "onExpressionChange"?: (event: LimebbLimeQueryFilterOrCustomEvent<LimeQueryFilterOr | LimeQueryFilterMissing>) => void;
3484
4762
  /**
3485
- * Reference to the platform
3486
- * @inheritdoc
4763
+ * Platform service provider
3487
4764
  */
3488
- "platform": LimeWebComponentPlatform;
4765
+ "platform"?: LimeWebComponentPlatform;
3489
4766
  }
3490
4767
  /**
3491
- * Lime Query Builder Component
3492
- * A code editor for constructing Lime Query DSL queries in JSON format.
3493
- * Features:
3494
- * - **JSON code editor**: Write queries using the Lime Query DSL
3495
- * - **Syntax validation**: Real-time validation of query structure
3496
- * - **Feature flag support**: GUI mode placeholder (not yet implemented)
3497
- * The component allows editing of complete `LimeQuery` objects that can be sent
3498
- * directly to the Lime CRM backend.
3499
- * When the feature flag `useLimeQueryBuilderGuiMode` is enabled, a mode toggle
3500
- * becomes available, but GUI mode currently shows a placeholder message.
3501
- * @exampleComponent limebb-example-lime-query-builder-basic
4768
+ * Query Value Input Component
4769
+ * Renders an appropriate input control based on the property type and operator.
4770
+ * This component automatically adapts its UI to match the data type of the selected
4771
+ * property, providing a better user experience and data validation.
4772
+ * Supported input types:
4773
+ * - **String/Text**: Standard text input field
4774
+ * - **Integer/Decimal**: Number input with appropriate step values
4775
+ * - **Date**: Date picker returning ISO date strings
4776
+ * - **Time**: Time input field
4777
+ * - **Boolean (yesno)**: True/False dropdown
4778
+ * - **Option**: Dropdown populated with valid options from property definition
4779
+ * - **IN operator**: Comma-separated input for multiple values (any type)
4780
+ * - **Placeholder mode**: Select properties from active object using %activeObject%
4781
+ * The component handles type conversions automatically:
4782
+ * - Numbers are parsed from string inputs
4783
+ * - Dates are converted to/from ISO strings
4784
+ * - Booleans are converted to/from strings for dropdown compatibility
3502
4785
  * @private
3503
4786
  */
3504
- interface LimebbLimeQueryBuilder {
4787
+ interface LimebbLimeQueryValueInput {
4788
+ /**
4789
+ * The limetype of the active object (for %activeObject% placeholders)
4790
+ */
4791
+ "activeLimetype"?: string;
3505
4792
  /**
3506
4793
  * Component context
3507
4794
  */
3508
4795
  "context"?: LimeWebComponentContext;
3509
4796
  /**
3510
- * Optional label for the Lime Query builder
4797
+ * Optional label for the input
3511
4798
  */
3512
4799
  "label"?: string;
3513
4800
  /**
3514
- * Emitted when the Lime Query changes
4801
+ * The limetype being queried
3515
4802
  */
3516
- "onChange"?: (event: LimebbLimeQueryBuilderCustomEvent<LimeQuery>) => void;
4803
+ "limetype"?: string;
4804
+ /**
4805
+ * Emitted when the value changes
4806
+ */
4807
+ "onChange"?: (event: LimebbLimeQueryValueInputCustomEvent<any>) => void;
4808
+ /**
4809
+ * The operator being used
4810
+ */
4811
+ "operator"?: FilterOperator;
3517
4812
  /**
3518
4813
  * Platform service provider
3519
4814
  */
3520
4815
  "platform"?: LimeWebComponentPlatform;
3521
4816
  /**
3522
- * The complete Lime Query object
4817
+ * The property path (e.g., "dealstatus", "company.name")
3523
4818
  */
3524
- "value"?: LimeQuery;
4819
+ "propertyPath"?: string;
4820
+ /**
4821
+ * The current value
4822
+ */
4823
+ "value"?: any;
3525
4824
  }
3526
4825
  /**
3527
4826
  * Component for displaying the contents of an attached file on a limeobject
@@ -3549,6 +4848,89 @@ declare namespace LocalJSX {
3549
4848
  */
3550
4849
  "property"?: string;
3551
4850
  }
4851
+ /**
4852
+ * Limetype Field Component
4853
+ * A dropdown selector for choosing a limetype (object type) from the available
4854
+ * limetypes in the system.
4855
+ * This component:
4856
+ * - Displays all limetypes with their icons and localized names
4857
+ * - Supports restricting to a specific list of limetypes
4858
+ * - Can update dependent property-path fields when selection changes
4859
+ * - Implements the FormComponent interface for use in forms
4860
+ * Common use cases:
4861
+ * - Selecting which object type to query in a lime query builder
4862
+ * - Choosing target limetype for relations
4863
+ * - Configuring limetype-dependent settings
4864
+ * @private
4865
+ */
4866
+ interface LimebbLimetypeField {
4867
+ /**
4868
+ * The context this component belongs to
4869
+ * @inheritdoc
4870
+ */
4871
+ "context"?: LimeWebComponentContext;
4872
+ /**
4873
+ * Whether or not the current property is disabled
4874
+ * @inheritdoc
4875
+ */
4876
+ "disabled"?: boolean;
4877
+ /**
4878
+ * The name of this field. May be used as reference when a property mapping depends on the selected limetype.
4879
+ */
4880
+ "fieldName"?: string;
4881
+ /**
4882
+ * Additional contextual information about the form
4883
+ * @inheritdoc
4884
+ */
4885
+ "formInfo"?: FormInfo;
4886
+ /**
4887
+ * The helper text for the current property
4888
+ * @inheritdoc
4889
+ */
4890
+ "helperText"?: string;
4891
+ /**
4892
+ * @inheritdoc
4893
+ */
4894
+ "invalid"?: boolean;
4895
+ /**
4896
+ * The label of the current property
4897
+ * @inheritdoc
4898
+ */
4899
+ "label"?: string;
4900
+ /**
4901
+ * The limetypes to choose from
4902
+ */
4903
+ "limetypes"?: string[];
4904
+ /**
4905
+ * The event to emit when the value of the current property has changed
4906
+ * @inheritdoc
4907
+ */
4908
+ "onChange"?: (event: LimebbLimetypeFieldCustomEvent<string>) => void;
4909
+ /**
4910
+ * Reference to the platform
4911
+ * @inheritdoc
4912
+ */
4913
+ "platform"?: LimeWebComponentPlatform;
4914
+ /**
4915
+ * A list of property fields that should be updated when the selected limetype changes.
4916
+ */
4917
+ "propertyFields"?: DependentPropertyField[];
4918
+ /**
4919
+ * Whether or not the current property is readonly
4920
+ * @inheritdoc
4921
+ */
4922
+ "readonly"?: boolean;
4923
+ /**
4924
+ * Whether or not the current property is required
4925
+ * @inheritdoc
4926
+ */
4927
+ "required"?: boolean;
4928
+ /**
4929
+ * The value of the current property
4930
+ * @inheritdoc
4931
+ */
4932
+ "value"?: string;
4933
+ }
3552
4934
  /**
3553
4935
  * @private
3554
4936
  */
@@ -3845,6 +5227,123 @@ declare namespace LocalJSX {
3845
5227
  */
3846
5228
  "value"?: number | string;
3847
5229
  }
5230
+ /**
5231
+ * Property Selector Component
5232
+ * A menu-based property selector that allows users to navigate through properties
5233
+ * and relations, only emitting complete property paths (not intermediate relations).
5234
+ * Similar to limec-context-expression but specifically for selecting properties
5235
+ * with dot-notation paths.
5236
+ * Features:
5237
+ * - Menu-based navigation through properties
5238
+ * - Submenu support for drilling into relations
5239
+ * - Internal state management during navigation
5240
+ * - Only emits complete paths (leaf properties)
5241
+ * - Chip-set display showing current path
5242
+ * @private
5243
+ */
5244
+ interface LimebbPropertySelector {
5245
+ /**
5246
+ * Component context
5247
+ */
5248
+ "context"?: LimeWebComponentContext;
5249
+ /**
5250
+ * Helper text to display
5251
+ */
5252
+ "helperText"?: string;
5253
+ /**
5254
+ * Label for the input
5255
+ */
5256
+ "label"?: string;
5257
+ /**
5258
+ * The limetype to select properties from
5259
+ */
5260
+ "limetype"?: string;
5261
+ /**
5262
+ * Emitted when a complete property path is selected
5263
+ */
5264
+ "onChange"?: (event: LimebbPropertySelectorCustomEvent<string>) => void;
5265
+ /**
5266
+ * Platform service provider
5267
+ */
5268
+ "platform"?: LimeWebComponentPlatform;
5269
+ /**
5270
+ * Whether the field is required
5271
+ */
5272
+ "required"?: boolean;
5273
+ /**
5274
+ * Current complete property path value
5275
+ */
5276
+ "value"?: string;
5277
+ }
5278
+ /**
5279
+ * Response Format Editor Component
5280
+ * Allows users to select which properties should be returned in the query response.
5281
+ * Supports selecting properties on both the main limetype and related limetypes
5282
+ * through belongsto relations.
5283
+ * Features:
5284
+ * - **Property selection**: Choose properties using dropdown navigation
5285
+ * - **Nested properties**: Select properties on related objects (e.g., company.name)
5286
+ * - **Property aliases**: Optionally rename properties in the response
5287
+ * - **Dynamic list**: Add/remove property selections
5288
+ * - **Real-time updates**: Changes immediately update the responseFormat
5289
+ * The component generates a `ResponseFormat` object with the `object` field
5290
+ * containing the selected properties.
5291
+ * @private
5292
+ */
5293
+ interface LimebbResponseFormatEditor {
5294
+ /**
5295
+ * Component context
5296
+ */
5297
+ "context"?: LimeWebComponentContext;
5298
+ /**
5299
+ * Optional label
5300
+ */
5301
+ "label"?: string;
5302
+ /**
5303
+ * The limetype to select properties from
5304
+ */
5305
+ "limetype"?: string;
5306
+ /**
5307
+ * Emitted when the response format changes
5308
+ */
5309
+ "onChange"?: (event: LimebbResponseFormatEditorCustomEvent<ResponseFormat>) => void;
5310
+ /**
5311
+ * Platform service provider
5312
+ */
5313
+ "platform"?: LimeWebComponentPlatform;
5314
+ /**
5315
+ * Current response format
5316
+ */
5317
+ "value"?: ResponseFormat;
5318
+ }
5319
+ /**
5320
+ * Response Format Property Item Component
5321
+ * Represents a single property selection with optional alias and description
5322
+ * Part of the response format editor
5323
+ * @private
5324
+ */
5325
+ interface LimebbResponseFormatItem {
5326
+ /**
5327
+ * Component context
5328
+ */
5329
+ "context"?: LimeWebComponentContext;
5330
+ /**
5331
+ * The property selection item
5332
+ */
5333
+ "item"?: PropertySelectionItem;
5334
+ /**
5335
+ * The limetype to select properties from
5336
+ */
5337
+ "limetype"?: string;
5338
+ /**
5339
+ * Emitted when the item changes
5340
+ */
5341
+ "onItemChange"?: (event: LimebbResponseFormatItemCustomEvent<PropertySelectionItem | null>) => void;
5342
+ /**
5343
+ * Platform service provider
5344
+ */
5345
+ "platform"?: LimeWebComponentPlatform;
5346
+ }
3848
5347
  /**
3849
5348
  * This component uses
3850
5349
  * [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)
@@ -4146,6 +5645,8 @@ declare namespace LocalJSX {
4146
5645
  "limebb-dashboard-widget": LimebbDashboardWidget;
4147
5646
  "limebb-date-picker": LimebbDatePicker;
4148
5647
  "limebb-date-range": LimebbDateRange;
5648
+ "limebb-document-item": LimebbDocumentItem;
5649
+ "limebb-document-picker": LimebbDocumentPicker;
4149
5650
  "limebb-empty-state": LimebbEmptyState;
4150
5651
  "limebb-feed": LimebbFeed;
4151
5652
  "limebb-feed-item-thumbnail-file-info": LimebbFeedItemThumbnailFileInfo;
@@ -4162,7 +5663,14 @@ declare namespace LocalJSX {
4162
5663
  "limebb-kanban-group": LimebbKanbanGroup;
4163
5664
  "limebb-kanban-item": LimebbKanbanItem;
4164
5665
  "limebb-lime-query-builder": LimebbLimeQueryBuilder;
5666
+ "limebb-lime-query-filter-and": LimebbLimeQueryFilterAnd;
5667
+ "limebb-lime-query-filter-comparison": LimebbLimeQueryFilterComparison;
5668
+ "limebb-lime-query-filter-expression": LimebbLimeQueryFilterExpression;
5669
+ "limebb-lime-query-filter-not": LimebbLimeQueryFilterNot;
5670
+ "limebb-lime-query-filter-or": LimebbLimeQueryFilterOr;
5671
+ "limebb-lime-query-value-input": LimebbLimeQueryValueInput;
4165
5672
  "limebb-limeobject-file-viewer": LimebbLimeobjectFileViewer;
5673
+ "limebb-limetype-field": LimebbLimetypeField;
4166
5674
  "limebb-live-docs-info": LimebbLiveDocsInfo;
4167
5675
  "limebb-loader": LimebbLoader;
4168
5676
  "limebb-locale-picker": LimebbLocalePicker;
@@ -4172,6 +5680,9 @@ declare namespace LocalJSX {
4172
5680
  "limebb-notification-item": LimebbNotificationItem;
4173
5681
  "limebb-notification-list": LimebbNotificationList;
4174
5682
  "limebb-percentage-visualizer": LimebbPercentageVisualizer;
5683
+ "limebb-property-selector": LimebbPropertySelector;
5684
+ "limebb-response-format-editor": LimebbResponseFormatEditor;
5685
+ "limebb-response-format-item": LimebbResponseFormatItem;
4175
5686
  "limebb-summary-popover": LimebbSummaryPopover;
4176
5687
  "limebb-text-editor": LimebbTextEditor;
4177
5688
  "limebb-text-editor-picker": LimebbTextEditorPicker;
@@ -4299,6 +5810,25 @@ declare module "@stencil/core" {
4299
5810
  * @exampleComponent limebb-example-date-range
4300
5811
  */
4301
5812
  "limebb-date-range": LocalJSX.LimebbDateRange & JSXBase.HTMLAttributes<HTMLLimebbDateRangeElement>;
5813
+ /**
5814
+ * Document item
5815
+ * Renders individual items of the document picker component.
5816
+ * @private
5817
+ */
5818
+ "limebb-document-item": LocalJSX.LimebbDocumentItem & JSXBase.HTMLAttributes<HTMLLimebbDocumentItemElement>;
5819
+ /**
5820
+ * The document picker component allows users to select one or more
5821
+ * files from a list of available documents.
5822
+ * It is primarily designed to facilitate the selection of files
5823
+ * that a user might want to import into the CRM, for example via
5824
+ * our Microsoft Outlook Add-in.
5825
+ * @exampleComponent limebb-example-document-picker-basic
5826
+ * @exampleComponent limebb-example-document-picker-selection-mode
5827
+ * @exampleComponent limebb-example-document-picker-limited-selection
5828
+ * @exampleComponent limebb-example-document-picker-contextual-info
5829
+ * @beta
5830
+ */
5831
+ "limebb-document-picker": LocalJSX.LimebbDocumentPicker & JSXBase.HTMLAttributes<HTMLLimebbDocumentPickerElement>;
4302
5832
  /**
4303
5833
  * An "empty state" in user interface design refers to the screen or space displayed, when there is no data
4304
5834
  * or content available to show to the user. This state typically occurs in new accounts, after clearing data,
@@ -4435,19 +5965,116 @@ declare module "@stencil/core" {
4435
5965
  "limebb-kanban-item": LocalJSX.LimebbKanbanItem & JSXBase.HTMLAttributes<HTMLLimebbKanbanItemElement>;
4436
5966
  /**
4437
5967
  * Lime Query Builder Component
4438
- * A code editor for constructing Lime Query DSL queries in JSON format.
5968
+ * A comprehensive query builder for constructing Lime Query DSL queries.
5969
+ * This is the main component that combines limetype selection with the filter builder.
4439
5970
  * Features:
4440
- * - **JSON code editor**: Write queries using the Lime Query DSL
4441
- * - **Syntax validation**: Real-time validation of query structure
4442
- * - **Feature flag support**: GUI mode placeholder (not yet implemented)
4443
- * The component allows editing of complete `LimeQuery` objects that can be sent
5971
+ * - **Limetype selection**: Choose which object type to query
5972
+ * - **Filter builder**: Build complex filters with AND/OR/NOT logic
5973
+ * - **Property path selection**: Navigate through relations
5974
+ * - **Type-aware inputs**: Automatic input types based on property type
5975
+ * - **Response format**: Select which properties to return
5976
+ * - **Query options**: Configure limit and other query parameters
5977
+ * - **Real-time output**: See the Lime Query JSON as you build
5978
+ * The component produces a complete `LimeQuery` object that can be sent
4444
5979
  * directly to the Lime CRM backend.
4445
- * When the feature flag `useLimeQueryBuilderGuiMode` is enabled, a mode toggle
4446
- * becomes available, but GUI mode currently shows a placeholder message.
4447
5980
  * @exampleComponent limebb-example-lime-query-builder-basic
4448
5981
  * @private
4449
5982
  */
4450
5983
  "limebb-lime-query-builder": LocalJSX.LimebbLimeQueryBuilder & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryBuilderElement>;
5984
+ /**
5985
+ * Lime Query Filter AND Component
5986
+ * Renders a group of filter expressions where **all conditions must be true**.
5987
+ * Users can add multiple child expressions, and a record must match all of them
5988
+ * to be included in the result set.
5989
+ * This component displays:
5990
+ * - A header with "All of these conditions are true" when there are multiple conditions
5991
+ * - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
5992
+ * - An "Add another condition" button to add more expressions
5993
+ * Clicking the trash icon on a child expression removes it from the AND group.
5994
+ * @private
5995
+ */
5996
+ "limebb-lime-query-filter-and": LocalJSX.LimebbLimeQueryFilterAnd & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterAndElement>;
5997
+ /**
5998
+ * Lime Query Filter Comparison Component
5999
+ * Renders a single comparison expression with three parts:
6000
+ * 1. **Property** - The field to compare (e.g., "dealstatus", "company.name")
6001
+ * 2. **Operator** - The comparison operator (=, !=, >, <, >=, <=, IN, ?, =?, =$)
6002
+ * 3. **Value** - The value to compare against
6003
+ * This is the most basic building block of a filter. Examples:
6004
+ * - dealstatus = "won"
6005
+ * - value > 100000
6006
+ * - name ? "Big" (contains "Big")
6007
+ * - dealstatus IN ["won", "tender"]
6008
+ * The component displays:
6009
+ * - A text input for the property (Phase 0 - will be replaced with property-path in Phase 1)
6010
+ * - A dropdown for the operator
6011
+ * - A value input (text/number based on operator)
6012
+ * - A trash icon button to remove this condition
6013
+ * @private
6014
+ */
6015
+ "limebb-lime-query-filter-comparison": LocalJSX.LimebbLimeQueryFilterComparison & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterComparisonElement>;
6016
+ /**
6017
+ * Lime Query Filter Expression Router
6018
+ * This is the main entry point for rendering Lime Query filters.
6019
+ * It routes to the appropriate sub-component based on the filter type:
6020
+ * - `'AND'` → limebb-lime-query-filter-and
6021
+ * - `'OR'` → limebb-lime-query-filter-or
6022
+ * - `'NOT'` → limebb-lime-query-filter-not
6023
+ * - `'comparison'` → limebb-lime-query-filter-comparison
6024
+ * - `''` (missing) → limebb-lime-query-filter-comparison (default)
6025
+ * Use this component when you need to render a complete filter expression
6026
+ * that may contain nested AND/OR/NOT logic.
6027
+ * @private
6028
+ */
6029
+ "limebb-lime-query-filter-expression": LocalJSX.LimebbLimeQueryFilterExpression & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterExpressionElement>;
6030
+ /**
6031
+ * Lime Query Filter NOT Component
6032
+ * Renders a negated filter expression. This inverts the logic of the child expression,
6033
+ * so records that would normally match will be excluded, and vice versa.
6034
+ * For example:
6035
+ * - NOT (status = "won") → Include all records where status is NOT "won"
6036
+ * - NOT (value > 100000) → Include all records where value is NOT greater than 100000
6037
+ * This component displays:
6038
+ * - A "Not" label
6039
+ * - A single child expression (which can be a comparison or nested AND/OR group)
6040
+ * Clicking the trash icon removes the entire NOT expression.
6041
+ * @private
6042
+ */
6043
+ "limebb-lime-query-filter-not": LocalJSX.LimebbLimeQueryFilterNot & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterNotElement>;
6044
+ /**
6045
+ * Lime Query Filter OR Component
6046
+ * Renders a group of filter expressions where **at least one condition must be true**.
6047
+ * Users can add multiple alternative expressions, and a record only needs to match
6048
+ * one of them to be included in the result set.
6049
+ * This component displays:
6050
+ * - A header with "Any of these conditions is true" when there are multiple conditions
6051
+ * - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
6052
+ * - An "Add alternative" button to add more options
6053
+ * Clicking the trash icon on a child expression removes it from the OR group.
6054
+ * @private
6055
+ */
6056
+ "limebb-lime-query-filter-or": LocalJSX.LimebbLimeQueryFilterOr & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterOrElement>;
6057
+ /**
6058
+ * Query Value Input Component
6059
+ * Renders an appropriate input control based on the property type and operator.
6060
+ * This component automatically adapts its UI to match the data type of the selected
6061
+ * property, providing a better user experience and data validation.
6062
+ * Supported input types:
6063
+ * - **String/Text**: Standard text input field
6064
+ * - **Integer/Decimal**: Number input with appropriate step values
6065
+ * - **Date**: Date picker returning ISO date strings
6066
+ * - **Time**: Time input field
6067
+ * - **Boolean (yesno)**: True/False dropdown
6068
+ * - **Option**: Dropdown populated with valid options from property definition
6069
+ * - **IN operator**: Comma-separated input for multiple values (any type)
6070
+ * - **Placeholder mode**: Select properties from active object using %activeObject%
6071
+ * The component handles type conversions automatically:
6072
+ * - Numbers are parsed from string inputs
6073
+ * - Dates are converted to/from ISO strings
6074
+ * - Booleans are converted to/from strings for dropdown compatibility
6075
+ * @private
6076
+ */
6077
+ "limebb-lime-query-value-input": LocalJSX.LimebbLimeQueryValueInput & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryValueInputElement>;
4451
6078
  /**
4452
6079
  * Component for displaying the contents of an attached file on a limeobject
4453
6080
  * Example use case is to use it as a tab on the document card
@@ -4457,6 +6084,22 @@ declare module "@stencil/core" {
4457
6084
  * @beta
4458
6085
  */
4459
6086
  "limebb-limeobject-file-viewer": LocalJSX.LimebbLimeobjectFileViewer & JSXBase.HTMLAttributes<HTMLLimebbLimeobjectFileViewerElement>;
6087
+ /**
6088
+ * Limetype Field Component
6089
+ * A dropdown selector for choosing a limetype (object type) from the available
6090
+ * limetypes in the system.
6091
+ * This component:
6092
+ * - Displays all limetypes with their icons and localized names
6093
+ * - Supports restricting to a specific list of limetypes
6094
+ * - Can update dependent property-path fields when selection changes
6095
+ * - Implements the FormComponent interface for use in forms
6096
+ * Common use cases:
6097
+ * - Selecting which object type to query in a lime query builder
6098
+ * - Choosing target limetype for relations
6099
+ * - Configuring limetype-dependent settings
6100
+ * @private
6101
+ */
6102
+ "limebb-limetype-field": LocalJSX.LimebbLimetypeField & JSXBase.HTMLAttributes<HTMLLimebbLimetypeFieldElement>;
4460
6103
  /**
4461
6104
  * @private
4462
6105
  */
@@ -4551,6 +6194,44 @@ declare module "@stencil/core" {
4551
6194
  * @beta
4552
6195
  */
4553
6196
  "limebb-percentage-visualizer": LocalJSX.LimebbPercentageVisualizer & JSXBase.HTMLAttributes<HTMLLimebbPercentageVisualizerElement>;
6197
+ /**
6198
+ * Property Selector Component
6199
+ * A menu-based property selector that allows users to navigate through properties
6200
+ * and relations, only emitting complete property paths (not intermediate relations).
6201
+ * Similar to limec-context-expression but specifically for selecting properties
6202
+ * with dot-notation paths.
6203
+ * Features:
6204
+ * - Menu-based navigation through properties
6205
+ * - Submenu support for drilling into relations
6206
+ * - Internal state management during navigation
6207
+ * - Only emits complete paths (leaf properties)
6208
+ * - Chip-set display showing current path
6209
+ * @private
6210
+ */
6211
+ "limebb-property-selector": LocalJSX.LimebbPropertySelector & JSXBase.HTMLAttributes<HTMLLimebbPropertySelectorElement>;
6212
+ /**
6213
+ * Response Format Editor Component
6214
+ * Allows users to select which properties should be returned in the query response.
6215
+ * Supports selecting properties on both the main limetype and related limetypes
6216
+ * through belongsto relations.
6217
+ * Features:
6218
+ * - **Property selection**: Choose properties using dropdown navigation
6219
+ * - **Nested properties**: Select properties on related objects (e.g., company.name)
6220
+ * - **Property aliases**: Optionally rename properties in the response
6221
+ * - **Dynamic list**: Add/remove property selections
6222
+ * - **Real-time updates**: Changes immediately update the responseFormat
6223
+ * The component generates a `ResponseFormat` object with the `object` field
6224
+ * containing the selected properties.
6225
+ * @private
6226
+ */
6227
+ "limebb-response-format-editor": LocalJSX.LimebbResponseFormatEditor & JSXBase.HTMLAttributes<HTMLLimebbResponseFormatEditorElement>;
6228
+ /**
6229
+ * Response Format Property Item Component
6230
+ * Represents a single property selection with optional alias and description
6231
+ * Part of the response format editor
6232
+ * @private
6233
+ */
6234
+ "limebb-response-format-item": LocalJSX.LimebbResponseFormatItem & JSXBase.HTMLAttributes<HTMLLimebbResponseFormatItemElement>;
4554
6235
  /**
4555
6236
  * This component uses
4556
6237
  * [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)