@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
@@ -0,0 +1,92 @@
1
+ import { EventEmitter } from '../../../stencil-public-runtime';
2
+ import { LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
3
+ import { FilterOperator } from '../lime-query.types';
4
+ /**
5
+ * Query Value Input Component
6
+ *
7
+ * Renders an appropriate input control based on the property type and operator.
8
+ * This component automatically adapts its UI to match the data type of the selected
9
+ * property, providing a better user experience and data validation.
10
+ *
11
+ * Supported input types:
12
+ * - **String/Text**: Standard text input field
13
+ * - **Integer/Decimal**: Number input with appropriate step values
14
+ * - **Date**: Date picker returning ISO date strings
15
+ * - **Time**: Time input field
16
+ * - **Boolean (yesno)**: True/False dropdown
17
+ * - **Option**: Dropdown populated with valid options from property definition
18
+ * - **IN operator**: Comma-separated input for multiple values (any type)
19
+ * - **Placeholder mode**: Select properties from active object using %activeObject%
20
+ *
21
+ * The component handles type conversions automatically:
22
+ * - Numbers are parsed from string inputs
23
+ * - Dates are converted to/from ISO strings
24
+ * - Booleans are converted to/from strings for dropdown compatibility
25
+ *
26
+ * @private
27
+ */
28
+ export declare class LimeQueryValueInput {
29
+ /**
30
+ * Platform service provider
31
+ */
32
+ platform: LimeWebComponentPlatform;
33
+ /**
34
+ * Component context
35
+ */
36
+ context: LimeWebComponentContext;
37
+ /**
38
+ * The limetype being queried
39
+ */
40
+ limetype: string;
41
+ /**
42
+ * The limetype of the active object (for %activeObject% placeholders)
43
+ */
44
+ activeLimetype?: string;
45
+ /**
46
+ * The property path (e.g., "dealstatus", "company.name")
47
+ */
48
+ propertyPath: string;
49
+ /**
50
+ * The operator being used
51
+ */
52
+ operator: FilterOperator;
53
+ /**
54
+ * The current value
55
+ */
56
+ value: any;
57
+ /**
58
+ * Optional label for the input
59
+ */
60
+ label: string;
61
+ private limetypes;
62
+ private inputMode;
63
+ /**
64
+ * Emitted when the value changes
65
+ */
66
+ change: EventEmitter<any>;
67
+ componentWillLoad(): void;
68
+ componentWillUpdate(): void;
69
+ private isPlaceholder;
70
+ private parsePlaceholderPath;
71
+ private buildPlaceholderValue;
72
+ render(): any;
73
+ private renderModeToggle;
74
+ private renderPlaceholderInput;
75
+ private renderValueInputByType;
76
+ private renderTextInput;
77
+ private renderNumberInput;
78
+ private renderBooleanInput;
79
+ private renderOptionInput;
80
+ private renderDateInput;
81
+ private renderTimeInput;
82
+ private renderMultiValueInput;
83
+ private handleTextChange;
84
+ private handleSelectChange;
85
+ private handleBooleanChange;
86
+ private handleDateChange;
87
+ private handleMultiValueChange;
88
+ private handleModeToggle;
89
+ private handlePlaceholderPropertyChange;
90
+ private getProperty;
91
+ }
92
+ //# sourceMappingURL=lime-query-value-input.d.ts.map
@@ -10,4 +10,22 @@ export declare function guiFilterToLimeQuery(filter: LimeQueryFilterExpression):
10
10
  * @param filter
11
11
  */
12
12
  export declare function limeQueryToGuiFilter(filter: FilterExpression | FilterGroup | undefined): LimeQueryFilterExpression;
13
+ /**
14
+ * Normalize filter for GUI mode by ensuring proper AND/OR wrapper structure.
15
+ * GUI mode requires filters to be wrapped in AND([OR(...)]) so users have
16
+ * access to add/remove buttons on the AND and OR components.
17
+ *
18
+ * This function ensures that:
19
+ * - Single comparisons are wrapped in AND([OR([comparison])])
20
+ * - OR groups are wrapped in AND([OR group])
21
+ * - AND groups have their comparison children wrapped in OR
22
+ * - Empty/undefined filters become AND([])
23
+ *
24
+ * When converting back to Lime Query JSON, limeQueryFilterToLimeQuery()
25
+ * automatically unwraps single-item AND/OR groups.
26
+ *
27
+ * @param filter The filter expression from limeQueryToLimeQueryFilter
28
+ * @returns Normalized filter suitable for GUI editing
29
+ */
30
+ export declare function normalizeLimeQueryFilterForGui(filter: LimeQueryFilterExpression): LimeQueryFilterExpression;
13
31
  //# sourceMappingURL=filter-conversion.d.ts.map
@@ -4,19 +4,21 @@ import { LimeQuery } from './lime-query.types';
4
4
  /**
5
5
  * Lime Query Builder Component
6
6
  *
7
- * A code editor for constructing Lime Query DSL queries in JSON format.
7
+ * A comprehensive query builder for constructing Lime Query DSL queries.
8
+ * This is the main component that combines limetype selection with the filter builder.
8
9
  *
9
10
  * Features:
10
- * - **JSON code editor**: Write queries using the Lime Query DSL
11
- * - **Syntax validation**: Real-time validation of query structure
12
- * - **Feature flag support**: GUI mode placeholder (not yet implemented)
11
+ * - **Limetype selection**: Choose which object type to query
12
+ * - **Filter builder**: Build complex filters with AND/OR/NOT logic
13
+ * - **Property path selection**: Navigate through relations
14
+ * - **Type-aware inputs**: Automatic input types based on property type
15
+ * - **Response format**: Select which properties to return
16
+ * - **Query options**: Configure limit and other query parameters
17
+ * - **Real-time output**: See the Lime Query JSON as you build
13
18
  *
14
- * The component allows editing of complete `LimeQuery` objects that can be sent
19
+ * The component produces a complete `LimeQuery` object that can be sent
15
20
  * directly to the Lime CRM backend.
16
21
  *
17
- * When the feature flag `useLimeQueryBuilderGuiMode` is enabled, a mode toggle
18
- * becomes available, but GUI mode currently shows a placeholder message.
19
- *
20
22
  * @exampleComponent limebb-example-lime-query-builder-basic
21
23
  * @private
22
24
  */
@@ -44,12 +46,32 @@ export declare class LimeQueryBuilder implements LimeWebComponent {
44
46
  private limetypes;
45
47
  private mode;
46
48
  private codeValue;
49
+ private limetype;
50
+ private filter;
51
+ private internalResponseFormat?;
52
+ private limit?;
53
+ private activeLimetype?;
47
54
  private get guiModeEnabled();
48
55
  componentWillLoad(): void;
49
56
  render(): any;
57
+ private handleLimetypeChange;
58
+ private handleFilterChange;
59
+ private handleResponseFormatChange;
60
+ private handleLimitChange;
61
+ private handleActiveLimetypeChange;
62
+ private emitChange;
63
+ private updateCodeValue;
50
64
  private checkGuiSupport;
51
65
  private renderModeSwitch;
52
66
  private renderCodeEditor;
67
+ private renderLimetypeSection;
68
+ private renderResponseFormatSection;
69
+ private renderFilterSection;
70
+ private renderQueryOptionsSection;
71
+ private renderGuiMode;
72
+ private renderLabel;
73
+ private renderModeControls;
74
+ private renderCodeMode;
53
75
  private switchToGui;
54
76
  private switchToCode;
55
77
  private handleCodeChange;
@@ -0,0 +1,96 @@
1
+ import { EventEmitter } from '../../../stencil-public-runtime';
2
+ import { FormComponent, FormInfo } from '@limetech/lime-elements';
3
+ import { LimeWebComponentPlatform, LimeWebComponentContext, LimeWebComponent, PropertyType } from '@limetech/lime-web-components';
4
+ type DependentPropertyField = {
5
+ limetype: string;
6
+ allowedPropertyTypes?: PropertyType[];
7
+ };
8
+ /**
9
+ * Limetype Field Component
10
+ *
11
+ * A dropdown selector for choosing a limetype (object type) from the available
12
+ * limetypes in the system.
13
+ *
14
+ * This component:
15
+ * - Displays all limetypes with their icons and localized names
16
+ * - Supports restricting to a specific list of limetypes
17
+ * - Can update dependent property-path fields when selection changes
18
+ * - Implements the FormComponent interface for use in forms
19
+ *
20
+ * Common use cases:
21
+ * - Selecting which object type to query in a lime query builder
22
+ * - Choosing target limetype for relations
23
+ * - Configuring limetype-dependent settings
24
+ *
25
+ * @private
26
+ */
27
+ export declare class LimetypeField implements LimeWebComponent, FormComponent<string> {
28
+ /**
29
+ * @inheritdoc
30
+ */
31
+ platform: LimeWebComponentPlatform;
32
+ /**
33
+ * @inheritdoc
34
+ */
35
+ context: LimeWebComponentContext;
36
+ /**
37
+ * @inheritdoc
38
+ */
39
+ label: string;
40
+ /**
41
+ * @inheritdoc
42
+ */
43
+ required: boolean;
44
+ /**
45
+ * @inheritdoc
46
+ */
47
+ readonly: boolean;
48
+ /**
49
+ * @inheritdoc
50
+ */
51
+ disabled: boolean;
52
+ /**
53
+ * @inheritdoc
54
+ */
55
+ value: string;
56
+ /**
57
+ * @inheritdoc
58
+ */
59
+ helperText: string;
60
+ /**
61
+ * @inheritdoc
62
+ */
63
+ invalid: boolean;
64
+ /**
65
+ * The limetypes to choose from
66
+ */
67
+ limetypes?: string[];
68
+ /**
69
+ * A list of property fields that should be updated when the selected limetype changes.
70
+ */
71
+ propertyFields: DependentPropertyField[];
72
+ /**
73
+ * The name of this field. May be used as reference when a property mapping
74
+ * depends on the selected limetype.
75
+ */
76
+ fieldName: string;
77
+ /**
78
+ * @inheritdoc
79
+ */
80
+ formInfo?: FormInfo;
81
+ /**
82
+ * @inheritdoc
83
+ */
84
+ change: EventEmitter<string>;
85
+ private collator;
86
+ componentWillLoad(): void;
87
+ componentShouldUpdate(newValue: FormInfo | undefined, oldValue: FormInfo | undefined, property: string): boolean;
88
+ render(): any;
89
+ componentWillRender(): void;
90
+ private getLimeTypes;
91
+ private handleChange;
92
+ private updatePropertyFields;
93
+ private get limeTypeRepository();
94
+ }
95
+ export {};
96
+ //# sourceMappingURL=limetype-field.d.ts.map
@@ -0,0 +1,23 @@
1
+ import { PropertySelection } from './lime-query.types';
2
+ /**
3
+ * Represents a single property selection item in the UI
4
+ */
5
+ export interface PropertySelectionItem {
6
+ path: string;
7
+ alias?: string;
8
+ description?: string;
9
+ }
10
+ /**
11
+ * Convert a nested PropertySelection to a flat list of property items
12
+ * @param selection The nested PropertySelection object
13
+ * @param prefix Current path prefix (used for recursion)
14
+ * @returns Flat array of PropertySelectionItem objects
15
+ */
16
+ export declare function propertySelectionToItems(selection: PropertySelection | undefined | null, prefix?: string): PropertySelectionItem[];
17
+ /**
18
+ * Convert a flat list of property items to a nested PropertySelection structure
19
+ * @param items Array of PropertySelectionItem objects
20
+ * @returns Nested PropertySelection object
21
+ */
22
+ export declare function itemsToPropertySelection(items: PropertySelectionItem[]): PropertySelection;
23
+ //# sourceMappingURL=property-selection-format.d.ts.map
@@ -0,0 +1,71 @@
1
+ import { EventEmitter } from '../../../stencil-public-runtime';
2
+ import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
3
+ /**
4
+ * Property Selector Component
5
+ *
6
+ * A menu-based property selector that allows users to navigate through properties
7
+ * and relations, only emitting complete property paths (not intermediate relations).
8
+ *
9
+ * Similar to limec-context-expression but specifically for selecting properties
10
+ * with dot-notation paths.
11
+ *
12
+ * Features:
13
+ * - Menu-based navigation through properties
14
+ * - Submenu support for drilling into relations
15
+ * - Internal state management during navigation
16
+ * - Only emits complete paths (leaf properties)
17
+ * - Chip-set display showing current path
18
+ * @private
19
+ */
20
+ export declare class PropertySelector implements LimeWebComponent {
21
+ /**
22
+ * Platform service provider
23
+ */
24
+ platform: LimeWebComponentPlatform;
25
+ /**
26
+ * Component context
27
+ */
28
+ context: LimeWebComponentContext;
29
+ /**
30
+ * The limetype to select properties from
31
+ */
32
+ limetype: string;
33
+ /**
34
+ * Current complete property path value
35
+ */
36
+ value: string;
37
+ /**
38
+ * Label for the input
39
+ */
40
+ label: string;
41
+ /**
42
+ * Whether the field is required
43
+ */
44
+ required: boolean;
45
+ /**
46
+ * Helper text to display
47
+ */
48
+ helperText: string;
49
+ private limetypes;
50
+ private isOpen;
51
+ private navigationPath;
52
+ /**
53
+ * Emitted when a complete property path is selected
54
+ */
55
+ change: EventEmitter<string>;
56
+ private menuItems;
57
+ render(): any;
58
+ private handleChipSetWrapperClick;
59
+ private handleChipSetFocus;
60
+ private handleSelect;
61
+ private handleNavigateMenu;
62
+ private handleCancel;
63
+ private handleChipSetChange;
64
+ private loadMenuItems;
65
+ private getCurrentLimetype;
66
+ private createMenuItems;
67
+ private getSecondaryText;
68
+ private getIconForProperty;
69
+ private getChipsForPath;
70
+ }
71
+ //# sourceMappingURL=property-selector.d.ts.map
@@ -0,0 +1,57 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
3
+ import { ResponseFormat } from './lime-query.types';
4
+ /**
5
+ * Response Format Editor Component
6
+ *
7
+ * Allows users to select which properties should be returned in the query response.
8
+ * Supports selecting properties on both the main limetype and related limetypes
9
+ * through belongsto relations.
10
+ *
11
+ * Features:
12
+ * - **Property selection**: Choose properties using dropdown navigation
13
+ * - **Nested properties**: Select properties on related objects (e.g., company.name)
14
+ * - **Property aliases**: Optionally rename properties in the response
15
+ * - **Dynamic list**: Add/remove property selections
16
+ * - **Real-time updates**: Changes immediately update the responseFormat
17
+ *
18
+ * The component generates a `ResponseFormat` object with the `object` field
19
+ * containing the selected properties.
20
+ *
21
+ * @private
22
+ */
23
+ export declare class ResponseFormatEditor implements LimeWebComponent {
24
+ /**
25
+ * Platform service provider
26
+ */
27
+ platform: LimeWebComponentPlatform;
28
+ /**
29
+ * Component context
30
+ */
31
+ context: LimeWebComponentContext;
32
+ /**
33
+ * The limetype to select properties from
34
+ */
35
+ limetype: string;
36
+ /**
37
+ * Current response format
38
+ */
39
+ value: ResponseFormat;
40
+ /**
41
+ * Optional label
42
+ */
43
+ label: string;
44
+ private items;
45
+ /**
46
+ * Emitted when the response format changes
47
+ */
48
+ change: EventEmitter<ResponseFormat>;
49
+ componentWillLoad(): void;
50
+ componentWillUpdate(): void;
51
+ render(): any;
52
+ private renderItem;
53
+ private handleItemChange;
54
+ private handleAddProperty;
55
+ private emitChange;
56
+ }
57
+ //# sourceMappingURL=response-format-editor.d.ts.map
@@ -0,0 +1,46 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform } from '@limetech/lime-web-components';
3
+ import { PropertySelectionItem } from './property-selection-format';
4
+ /**
5
+ * Response Format Property Item Component
6
+ *
7
+ * Represents a single property selection with optional alias and description
8
+ * Part of the response format editor
9
+ * @private
10
+ */
11
+ export declare class ResponseFormatItem implements LimeWebComponent {
12
+ /**
13
+ * Platform service provider
14
+ */
15
+ platform: LimeWebComponentPlatform;
16
+ /**
17
+ * Component context
18
+ */
19
+ context: LimeWebComponentContext;
20
+ /**
21
+ * The limetype to select properties from
22
+ */
23
+ limetype: string;
24
+ /**
25
+ * The property selection item
26
+ */
27
+ item: PropertySelectionItem;
28
+ /**
29
+ * Emitted when the item changes
30
+ */
31
+ itemChange: EventEmitter<PropertySelectionItem | null>;
32
+ private showAliasInput;
33
+ private showDescriptionInput;
34
+ componentWillLoad(): void;
35
+ componentWillUpdate(): void;
36
+ render(): any[];
37
+ private handlePathChange;
38
+ private toggleAliasInput;
39
+ private toggleDescriptionInput;
40
+ private handleAliasChange;
41
+ private handleDescriptionChange;
42
+ private handleAliasBlur;
43
+ private handleDescriptionBlur;
44
+ private handleRemove;
45
+ }
46
+ //# sourceMappingURL=response-format-item.d.ts.map