@limetech/lime-crm-building-blocks 1.96.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 (179) hide show
  1. package/CHANGELOG.md +7 -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-lime-query-builder.cjs.entry.js +382 -150
  13. package/dist/cjs/limebb-lime-query-filter-and_5.cjs.entry.js +278 -0
  14. package/dist/cjs/limebb-lime-query-value-input.cjs.entry.js +239 -0
  15. package/dist/cjs/limebb-limetype-field_2.cjs.entry.js +406 -0
  16. package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
  17. package/dist/cjs/limebb-locale-picker.cjs.entry.js +13 -498
  18. package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
  19. package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +3 -3
  20. package/dist/cjs/limebb-notification-item.cjs.entry.js +1 -1
  21. package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +2 -2
  22. package/dist/cjs/limebb-property-selector.cjs.entry.js +234 -0
  23. package/dist/cjs/limebb-response-format-item.cjs.entry.js +80 -0
  24. package/dist/cjs/limebb-text-editor.cjs.entry.js +20 -61
  25. package/dist/cjs/limebb-trend-indicator.cjs.entry.js +1 -1
  26. package/dist/cjs/limetype-1fe0207f.js +90 -0
  27. package/dist/cjs/loader.cjs.js +1 -1
  28. package/dist/cjs/property-resolution-fb42a46b.js +66 -0
  29. package/dist/collection/collection-manifest.json +10 -0
  30. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-and.css +121 -0
  31. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-and.js +257 -0
  32. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.css +39 -0
  33. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +246 -0
  34. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-expression.css +104 -0
  35. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-expression.js +220 -0
  36. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.css +107 -0
  37. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +212 -0
  38. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-or.css +123 -0
  39. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-or.js +237 -0
  40. package/dist/collection/components/lime-query-builder/expressions/lime-query-value-input.css +48 -0
  41. package/dist/collection/components/lime-query-builder/expressions/lime-query-value-input.js +457 -0
  42. package/dist/collection/components/lime-query-builder/filter-conversion.js +118 -21
  43. package/dist/collection/components/lime-query-builder/lime-query-builder.css +30 -17
  44. package/dist/collection/components/lime-query-builder/lime-query-builder.js +233 -28
  45. package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +435 -0
  46. package/dist/collection/components/lime-query-builder/property-selection-format.js +158 -0
  47. package/dist/collection/components/lime-query-builder/property-selector/property-selector.css +8 -0
  48. package/dist/collection/components/lime-query-builder/property-selector/property-selector.js +422 -0
  49. package/dist/collection/components/lime-query-builder/response-format-editor.css +72 -0
  50. package/dist/collection/components/lime-query-builder/response-format-editor.js +249 -0
  51. package/dist/collection/components/lime-query-builder/response-format-item.css +61 -0
  52. package/dist/collection/components/lime-query-builder/response-format-item.js +208 -0
  53. package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
  54. package/dist/collection/components/locale-picker/locale-picker.js +1 -1
  55. package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
  56. package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
  57. package/dist/collection/components/summary-popover/summary-popover.js +3 -3
  58. package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
  59. package/dist/collection/components/text-editor/text-editor.js +1 -1
  60. package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
  61. package/dist/components/_MapCache.js +2 -27
  62. package/dist/components/_Uint8Array.js +2 -12
  63. package/dist/components/_baseIsEqual.js +494 -0
  64. package/dist/components/_defineProperty.js +13 -0
  65. package/dist/components/get.js +2 -1
  66. package/dist/components/isEqual.js +35 -0
  67. package/dist/components/isSymbol.js +28 -0
  68. package/dist/components/lime-query-filter-and.js +408 -0
  69. package/dist/components/lime-query-filter-comparison.js +152 -0
  70. package/dist/components/lime-query-value-input.js +266 -0
  71. package/dist/components/limebb-lime-query-builder.js +441 -149
  72. package/dist/components/limebb-lime-query-filter-and.d.ts +11 -0
  73. package/dist/components/limebb-lime-query-filter-and.js +6 -0
  74. package/dist/components/limebb-lime-query-filter-comparison.d.ts +11 -0
  75. package/dist/components/limebb-lime-query-filter-comparison.js +6 -0
  76. package/dist/components/limebb-lime-query-filter-expression.d.ts +11 -0
  77. package/dist/components/limebb-lime-query-filter-expression.js +6 -0
  78. package/dist/components/limebb-lime-query-filter-not.d.ts +11 -0
  79. package/dist/components/limebb-lime-query-filter-not.js +6 -0
  80. package/dist/components/limebb-lime-query-filter-or.d.ts +11 -0
  81. package/dist/components/limebb-lime-query-filter-or.js +6 -0
  82. package/dist/components/limebb-lime-query-value-input.d.ts +11 -0
  83. package/dist/components/limebb-lime-query-value-input.js +6 -0
  84. package/dist/components/limebb-limetype-field.d.ts +11 -0
  85. package/dist/components/limebb-limetype-field.js +6 -0
  86. package/dist/components/limebb-locale-picker.js +8 -493
  87. package/dist/components/limebb-mention-group-counter.js +2 -2
  88. package/dist/components/limebb-percentage-visualizer.js +2 -2
  89. package/dist/components/limebb-property-selector.d.ts +11 -0
  90. package/dist/components/limebb-property-selector.js +6 -0
  91. package/dist/components/limebb-response-format-editor.d.ts +11 -0
  92. package/dist/components/limebb-response-format-editor.js +6 -0
  93. package/dist/components/limebb-response-format-item.d.ts +11 -0
  94. package/dist/components/limebb-response-format-item.js +6 -0
  95. package/dist/components/limebb-text-editor.js +7 -48
  96. package/dist/components/limebb-trend-indicator.js +1 -1
  97. package/dist/components/limetype-field.js +184 -0
  98. package/dist/components/limetype.js +85 -0
  99. package/dist/components/live-docs-info.js +2 -2
  100. package/dist/components/notification-item.js +1 -1
  101. package/dist/components/property-selector.js +317 -0
  102. package/dist/components/response-format-editor.js +278 -0
  103. package/dist/components/response-format-item.js +104 -0
  104. package/dist/components/summary-popover.js +3 -3
  105. package/dist/esm/{_MapCache-6484495d.js → _MapCache-af496e9d.js} +2 -27
  106. package/dist/esm/{_Uint8Array-e5cac922.js → _Uint8Array-d6ebd526.js} +3 -13
  107. package/dist/esm/_baseIsEqual-28053b81.js +494 -0
  108. package/dist/esm/_defineProperty-e6a185c3.js +13 -0
  109. package/dist/esm/{get-f9e0b2e1.js → get-3e42932b.js} +2 -1
  110. package/dist/esm/isEqual-57d0c223.js +35 -0
  111. package/dist/esm/isSymbol-1c5f65cc.js +28 -0
  112. package/dist/esm/lime-crm-building-blocks.js +1 -1
  113. package/dist/esm/lime-query.types-f72355e1.js +59 -0
  114. package/dist/esm/limebb-component-config.entry.js +3 -2
  115. package/dist/esm/limebb-lime-query-builder.entry.js +379 -147
  116. package/dist/esm/limebb-lime-query-filter-and_5.entry.js +270 -0
  117. package/dist/esm/limebb-lime-query-value-input.entry.js +235 -0
  118. package/dist/esm/limebb-limetype-field_2.entry.js +401 -0
  119. package/dist/esm/limebb-live-docs-info.entry.js +2 -2
  120. package/dist/esm/limebb-locale-picker.entry.js +9 -494
  121. package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
  122. package/dist/esm/limebb-navigation-button_2.entry.js +3 -3
  123. package/dist/esm/limebb-notification-item.entry.js +1 -1
  124. package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
  125. package/dist/esm/limebb-property-selector.entry.js +230 -0
  126. package/dist/esm/limebb-response-format-item.entry.js +76 -0
  127. package/dist/esm/limebb-text-editor.entry.js +7 -48
  128. package/dist/esm/limebb-trend-indicator.entry.js +1 -1
  129. package/dist/esm/limetype-6e7552a7.js +85 -0
  130. package/dist/esm/loader.js +1 -1
  131. package/dist/esm/property-resolution-fde2375e.js +63 -0
  132. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  133. package/dist/lime-crm-building-blocks/{p-88c64360.entry.js → p-00da9b24.entry.js} +1 -1
  134. package/dist/lime-crm-building-blocks/p-02c0cc04.entry.js +1 -0
  135. package/dist/lime-crm-building-blocks/p-123190c3.js +1 -0
  136. package/dist/lime-crm-building-blocks/p-244ee55b.entry.js +1 -0
  137. package/dist/lime-crm-building-blocks/p-35897ec3.js +1 -0
  138. package/dist/lime-crm-building-blocks/{p-85b7291c.entry.js → p-3932077b.entry.js} +1 -1
  139. package/dist/lime-crm-building-blocks/p-3b0a15ec.js +1 -0
  140. package/dist/lime-crm-building-blocks/p-5a6d2e7f.js +1 -0
  141. package/dist/lime-crm-building-blocks/p-60971d64.js +1 -0
  142. package/dist/lime-crm-building-blocks/p-6c1146ca.entry.js +1 -0
  143. package/dist/lime-crm-building-blocks/p-70a28b93.entry.js +1 -0
  144. package/dist/lime-crm-building-blocks/p-7e6fb4af.js +1 -0
  145. package/dist/lime-crm-building-blocks/{p-8664381a.entry.js → p-8c4eb49f.entry.js} +1 -1
  146. package/dist/lime-crm-building-blocks/p-96beaabc.entry.js +1 -0
  147. package/dist/lime-crm-building-blocks/p-a659d55a.js +1 -0
  148. package/dist/lime-crm-building-blocks/p-b7c72179.entry.js +1 -0
  149. package/dist/lime-crm-building-blocks/p-baf4e428.entry.js +1 -0
  150. package/dist/lime-crm-building-blocks/p-d298b34e.js +1 -0
  151. package/dist/lime-crm-building-blocks/{p-7c4bdc1b.entry.js → p-d89c44ad.entry.js} +1 -1
  152. package/dist/lime-crm-building-blocks/p-e0ab1554.js +1 -0
  153. package/dist/lime-crm-building-blocks/{p-8064cbfb.entry.js → p-e9d23ef7.entry.js} +1 -1
  154. package/dist/lime-crm-building-blocks/p-ef8a5266.entry.js +1 -0
  155. package/dist/lime-crm-building-blocks/{p-c9126885.entry.js → p-f52125a0.entry.js} +1 -1
  156. package/dist/lime-crm-building-blocks/p-f99c611d.entry.js +1 -0
  157. package/dist/lime-crm-building-blocks/p-fe2b91d9.js +1 -0
  158. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-and.d.ts +56 -0
  159. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-comparison.d.ts +64 -0
  160. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-expression.d.ts +53 -0
  161. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-not.d.ts +54 -0
  162. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-or.d.ts +55 -0
  163. package/dist/types/components/lime-query-builder/expressions/lime-query-value-input.d.ts +92 -0
  164. package/dist/types/components/lime-query-builder/filter-conversion.d.ts +18 -0
  165. package/dist/types/components/lime-query-builder/lime-query-builder.d.ts +30 -8
  166. package/dist/types/components/lime-query-builder/limetype-field/limetype-field.d.ts +96 -0
  167. package/dist/types/components/lime-query-builder/property-selection-format.d.ts +23 -0
  168. package/dist/types/components/lime-query-builder/property-selector/property-selector.d.ts +71 -0
  169. package/dist/types/components/lime-query-builder/response-format-editor.d.ts +57 -0
  170. package/dist/types/components/lime-query-builder/response-format-item.d.ts +46 -0
  171. package/dist/types/components.d.ts +1558 -117
  172. package/package.json +1 -1
  173. package/dist/lime-crm-building-blocks/p-00e7e0d4.entry.js +0 -1
  174. package/dist/lime-crm-building-blocks/p-11ac105b.entry.js +0 -1
  175. package/dist/lime-crm-building-blocks/p-5abe3fff.entry.js +0 -1
  176. package/dist/lime-crm-building-blocks/p-8044ffbd.js +0 -1
  177. package/dist/lime-crm-building-blocks/p-92ec9205.entry.js +0 -1
  178. package/dist/lime-crm-building-blocks/p-bcc23575.js +0 -1
  179. package/dist/lime-crm-building-blocks/p-c40a3f4b.js +0 -1
@@ -17,10 +17,11 @@ import { DateTimeFormat, NumberFormat, RelativeDateTimeFormat } from "./componen
17
17
  import { InfoTile } from "./components/info-tile/info-tile";
18
18
  import { KanbanGroup } from "./components/kanban/kanban-group/kanban-group.types";
19
19
  import { KanbanItem } from "./components/kanban/kanban-item/kanban-item.types";
20
- 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";
21
21
  import { LanguagePickerType } from "./components/locale-picker/language-picker.types";
22
22
  import { NavigationButtonType } from "./components/navigation-button/navigation-button.types";
23
23
  import { NotificationItem } from "./components/notification-list/notification-item/notification-item.types";
24
+ import { PropertySelectionItem } from "./components/lime-query-builder/property-selection-format";
24
25
  import { TriggerMap } from "./components/text-editor/text-editor.types";
25
26
  import { EnhancedEditorMetadata } from "./components/text-editor/uploader/building-blocks-upload-handler";
26
27
  export { AggregateOperator, LimeFileUrlType, LimeType, LimeWebComponentContext, LimeWebComponentPlatform } from "@limetech/lime-web-components";
@@ -35,10 +36,11 @@ export { DateTimeFormat, NumberFormat, RelativeDateTimeFormat } from "./componen
35
36
  export { InfoTile } from "./components/info-tile/info-tile";
36
37
  export { KanbanGroup } from "./components/kanban/kanban-group/kanban-group.types";
37
38
  export { KanbanItem } from "./components/kanban/kanban-item/kanban-item.types";
38
- 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";
39
40
  export { LanguagePickerType } from "./components/locale-picker/language-picker.types";
40
41
  export { NavigationButtonType } from "./components/navigation-button/navigation-button.types";
41
42
  export { NotificationItem } from "./components/notification-list/notification-item/notification-item.types";
43
+ export { PropertySelectionItem } from "./components/lime-query-builder/property-selection-format";
42
44
  export { TriggerMap } from "./components/text-editor/text-editor.types";
43
45
  export { EnhancedEditorMetadata } from "./components/text-editor/uploader/building-blocks-upload-handler";
44
46
  export namespace Components {
@@ -947,15 +949,18 @@ export namespace Components {
947
949
  }
948
950
  /**
949
951
  * Lime Query Builder Component
950
- * 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.
951
954
  * Features:
952
- * - **JSON code editor**: Write queries using the Lime Query DSL
953
- * - **Syntax validation**: Real-time validation of query structure
954
- * - **Feature flag support**: GUI mode placeholder (not yet implemented)
955
- * 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
956
963
  * directly to the Lime CRM backend.
957
- * When the feature flag `useLimeQueryBuilderGuiMode` is enabled, a mode toggle
958
- * becomes available, but GUI mode currently shows a placeholder message.
959
964
  * @exampleComponent limebb-example-lime-query-builder-basic
960
965
  * @private
961
966
  */
@@ -977,6 +982,258 @@ export namespace Components {
977
982
  */
978
983
  "value": LimeQuery;
979
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
+ }
980
1237
  /**
981
1238
  * Component for displaying the contents of an attached file on a limeobject
982
1239
  * Example use case is to use it as a tab on the document card
@@ -1003,6 +1260,84 @@ export namespace Components {
1003
1260
  */
1004
1261
  "property": string;
1005
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
+ }
1006
1341
  /**
1007
1342
  * @private
1008
1343
  */
@@ -1282,6 +1617,111 @@ export namespace Components {
1282
1617
  */
1283
1618
  "value": number | string;
1284
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
+ }
1285
1725
  /**
1286
1726
  * This component uses
1287
1727
  * [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)
@@ -1637,6 +2077,34 @@ export interface LimebbLimeQueryBuilderCustomEvent<T> extends CustomEvent<T> {
1637
2077
  detail: T;
1638
2078
  target: HTMLLimebbLimeQueryBuilderElement;
1639
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
+ }
1640
2108
  export interface LimebbLoaderCustomEvent<T> extends CustomEvent<T> {
1641
2109
  detail: T;
1642
2110
  target: HTMLLimebbLoaderElement;
@@ -1653,6 +2121,18 @@ export interface LimebbNotificationListCustomEvent<T> extends CustomEvent<T> {
1653
2121
  detail: T;
1654
2122
  target: HTMLLimebbNotificationListElement;
1655
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
+ }
1656
2136
  export interface LimebbSummaryPopoverCustomEvent<T> extends CustomEvent<T> {
1657
2137
  detail: T;
1658
2138
  target: HTMLLimebbSummaryPopoverElement;
@@ -2240,74 +2720,267 @@ declare global {
2240
2720
  "loadMore": KanbanGroup['identifier'];
2241
2721
  }
2242
2722
  /**
2243
- * This component generates the groups for `limebb-kanban`.
2723
+ * This component generates the groups for `limebb-kanban`.
2724
+ * @private
2725
+ */
2726
+ interface HTMLLimebbKanbanGroupElement extends Components.LimebbKanbanGroup, HTMLStencilElement {
2727
+ addEventListener<K extends keyof HTMLLimebbKanbanGroupElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanGroupElement, ev: LimebbKanbanGroupCustomEvent<HTMLLimebbKanbanGroupElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2728
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2729
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2730
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2731
+ removeEventListener<K extends keyof HTMLLimebbKanbanGroupElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanGroupElement, ev: LimebbKanbanGroupCustomEvent<HTMLLimebbKanbanGroupElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2732
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2733
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2734
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2735
+ }
2736
+ var HTMLLimebbKanbanGroupElement: {
2737
+ prototype: HTMLLimebbKanbanGroupElement;
2738
+ new (): HTMLLimebbKanbanGroupElement;
2739
+ };
2740
+ interface HTMLLimebbKanbanItemElementEventMap {
2741
+ "interact": KanbanItem;
2742
+ }
2743
+ /**
2744
+ * Feed item
2745
+ * @private
2746
+ */
2747
+ interface HTMLLimebbKanbanItemElement extends Components.LimebbKanbanItem, HTMLStencilElement {
2748
+ addEventListener<K extends keyof HTMLLimebbKanbanItemElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanItemElement, ev: LimebbKanbanItemCustomEvent<HTMLLimebbKanbanItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2749
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2750
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2751
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2752
+ removeEventListener<K extends keyof HTMLLimebbKanbanItemElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanItemElement, ev: LimebbKanbanItemCustomEvent<HTMLLimebbKanbanItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2753
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2754
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2755
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2756
+ }
2757
+ var HTMLLimebbKanbanItemElement: {
2758
+ prototype: HTMLLimebbKanbanItemElement;
2759
+ new (): HTMLLimebbKanbanItemElement;
2760
+ };
2761
+ interface HTMLLimebbLimeQueryBuilderElementEventMap {
2762
+ "change": LimeQuery;
2763
+ }
2764
+ /**
2765
+ * Lime Query Builder Component
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.
2768
+ * Features:
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
2777
+ * directly to the Lime CRM backend.
2778
+ * @exampleComponent limebb-example-lime-query-builder-basic
2779
+ * @private
2780
+ */
2781
+ interface HTMLLimebbLimeQueryBuilderElement extends Components.LimebbLimeQueryBuilder, HTMLStencilElement {
2782
+ addEventListener<K extends keyof HTMLLimebbLimeQueryBuilderElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryBuilderElement, ev: LimebbLimeQueryBuilderCustomEvent<HTMLLimebbLimeQueryBuilderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2783
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2784
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2785
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2786
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryBuilderElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryBuilderElement, ev: LimebbLimeQueryBuilderCustomEvent<HTMLLimebbLimeQueryBuilderElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2787
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2788
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2789
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2790
+ }
2791
+ var HTMLLimebbLimeQueryBuilderElement: {
2792
+ prototype: HTMLLimebbLimeQueryBuilderElement;
2793
+ new (): HTMLLimebbLimeQueryBuilderElement;
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.
2244
2903
  * @private
2245
2904
  */
2246
- interface HTMLLimebbKanbanGroupElement extends Components.LimebbKanbanGroup, HTMLStencilElement {
2247
- addEventListener<K extends keyof HTMLLimebbKanbanGroupElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanGroupElement, ev: LimebbKanbanGroupCustomEvent<HTMLLimebbKanbanGroupElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
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;
2248
2907
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2249
2908
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2250
2909
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2251
- removeEventListener<K extends keyof HTMLLimebbKanbanGroupElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanGroupElement, ev: LimebbKanbanGroupCustomEvent<HTMLLimebbKanbanGroupElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2910
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterNotElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterNotElement, ev: LimebbLimeQueryFilterNotCustomEvent<HTMLLimebbLimeQueryFilterNotElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2252
2911
  removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2253
2912
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2254
2913
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2255
2914
  }
2256
- var HTMLLimebbKanbanGroupElement: {
2257
- prototype: HTMLLimebbKanbanGroupElement;
2258
- new (): HTMLLimebbKanbanGroupElement;
2915
+ var HTMLLimebbLimeQueryFilterNotElement: {
2916
+ prototype: HTMLLimebbLimeQueryFilterNotElement;
2917
+ new (): HTMLLimebbLimeQueryFilterNotElement;
2259
2918
  };
2260
- interface HTMLLimebbKanbanItemElementEventMap {
2261
- "interact": KanbanItem;
2919
+ interface HTMLLimebbLimeQueryFilterOrElementEventMap {
2920
+ "expressionChange": LimeQueryFilterOr | LimeQueryFilterMissing;
2262
2921
  }
2263
2922
  /**
2264
- * Feed item
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.
2265
2932
  * @private
2266
2933
  */
2267
- interface HTMLLimebbKanbanItemElement extends Components.LimebbKanbanItem, HTMLStencilElement {
2268
- addEventListener<K extends keyof HTMLLimebbKanbanItemElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanItemElement, ev: LimebbKanbanItemCustomEvent<HTMLLimebbKanbanItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
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;
2269
2936
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2270
2937
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2271
2938
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2272
- removeEventListener<K extends keyof HTMLLimebbKanbanItemElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanItemElement, ev: LimebbKanbanItemCustomEvent<HTMLLimebbKanbanItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2939
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterOrElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterOrElement, ev: LimebbLimeQueryFilterOrCustomEvent<HTMLLimebbLimeQueryFilterOrElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2273
2940
  removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2274
2941
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2275
2942
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2276
2943
  }
2277
- var HTMLLimebbKanbanItemElement: {
2278
- prototype: HTMLLimebbKanbanItemElement;
2279
- new (): HTMLLimebbKanbanItemElement;
2944
+ var HTMLLimebbLimeQueryFilterOrElement: {
2945
+ prototype: HTMLLimebbLimeQueryFilterOrElement;
2946
+ new (): HTMLLimebbLimeQueryFilterOrElement;
2280
2947
  };
2281
- interface HTMLLimebbLimeQueryBuilderElementEventMap {
2282
- "change": LimeQuery;
2948
+ interface HTMLLimebbLimeQueryValueInputElementEventMap {
2949
+ "change": any;
2283
2950
  }
2284
2951
  /**
2285
- * Lime Query Builder Component
2286
- * A code editor for constructing Lime Query DSL queries in JSON format.
2287
- * Features:
2288
- * - **JSON code editor**: Write queries using the Lime Query DSL
2289
- * - **Syntax validation**: Real-time validation of query structure
2290
- * - **Feature flag support**: GUI mode placeholder (not yet implemented)
2291
- * The component allows editing of complete `LimeQuery` objects that can be sent
2292
- * directly to the Lime CRM backend.
2293
- * When the feature flag `useLimeQueryBuilderGuiMode` is enabled, a mode toggle
2294
- * becomes available, but GUI mode currently shows a placeholder message.
2295
- * @exampleComponent limebb-example-lime-query-builder-basic
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
2296
2969
  * @private
2297
2970
  */
2298
- interface HTMLLimebbLimeQueryBuilderElement extends Components.LimebbLimeQueryBuilder, HTMLStencilElement {
2299
- addEventListener<K extends keyof HTMLLimebbLimeQueryBuilderElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryBuilderElement, ev: LimebbLimeQueryBuilderCustomEvent<HTMLLimebbLimeQueryBuilderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
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;
2300
2973
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2301
2974
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2302
2975
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2303
- removeEventListener<K extends keyof HTMLLimebbLimeQueryBuilderElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryBuilderElement, ev: LimebbLimeQueryBuilderCustomEvent<HTMLLimebbLimeQueryBuilderElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2976
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryValueInputElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryValueInputElement, ev: LimebbLimeQueryValueInputCustomEvent<HTMLLimebbLimeQueryValueInputElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2304
2977
  removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2305
2978
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2306
2979
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2307
2980
  }
2308
- var HTMLLimebbLimeQueryBuilderElement: {
2309
- prototype: HTMLLimebbLimeQueryBuilderElement;
2310
- new (): HTMLLimebbLimeQueryBuilderElement;
2981
+ var HTMLLimebbLimeQueryValueInputElement: {
2982
+ prototype: HTMLLimebbLimeQueryValueInputElement;
2983
+ new (): HTMLLimebbLimeQueryValueInputElement;
2311
2984
  };
2312
2985
  /**
2313
2986
  * Component for displaying the contents of an attached file on a limeobject
@@ -2323,6 +2996,38 @@ declare global {
2323
2996
  prototype: HTMLLimebbLimeobjectFileViewerElement;
2324
2997
  new (): HTMLLimebbLimeobjectFileViewerElement;
2325
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
+ };
2326
3031
  /**
2327
3032
  * @private
2328
3033
  */
@@ -2506,6 +3211,92 @@ declare global {
2506
3211
  prototype: HTMLLimebbPercentageVisualizerElement;
2507
3212
  new (): HTMLLimebbPercentageVisualizerElement;
2508
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;
3292
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3293
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3294
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
3295
+ }
3296
+ var HTMLLimebbResponseFormatItemElement: {
3297
+ prototype: HTMLLimebbResponseFormatItemElement;
3298
+ new (): HTMLLimebbResponseFormatItemElement;
3299
+ };
2509
3300
  interface HTMLLimebbSummaryPopoverElementEventMap {
2510
3301
  "actionSelected": ActionBarItem;
2511
3302
  }
@@ -2693,7 +3484,14 @@ declare global {
2693
3484
  "limebb-kanban-group": HTMLLimebbKanbanGroupElement;
2694
3485
  "limebb-kanban-item": HTMLLimebbKanbanItemElement;
2695
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;
2696
3493
  "limebb-limeobject-file-viewer": HTMLLimebbLimeobjectFileViewerElement;
3494
+ "limebb-limetype-field": HTMLLimebbLimetypeFieldElement;
2697
3495
  "limebb-live-docs-info": HTMLLimebbLiveDocsInfoElement;
2698
3496
  "limebb-loader": HTMLLimebbLoaderElement;
2699
3497
  "limebb-locale-picker": HTMLLimebbLocalePickerElement;
@@ -2703,6 +3501,9 @@ declare global {
2703
3501
  "limebb-notification-item": HTMLLimebbNotificationItemElement;
2704
3502
  "limebb-notification-list": HTMLLimebbNotificationListElement;
2705
3503
  "limebb-percentage-visualizer": HTMLLimebbPercentageVisualizerElement;
3504
+ "limebb-property-selector": HTMLLimebbPropertySelectorElement;
3505
+ "limebb-response-format-editor": HTMLLimebbResponseFormatEditorElement;
3506
+ "limebb-response-format-item": HTMLLimebbResponseFormatItemElement;
2706
3507
  "limebb-summary-popover": HTMLLimebbSummaryPopoverElement;
2707
3508
  "limebb-text-editor": HTMLLimebbTextEditorElement;
2708
3509
  "limebb-text-editor-picker": HTMLLimebbTextEditorPickerElement;
@@ -3617,130 +4418,409 @@ declare namespace LocalJSX {
3617
4418
  */
3618
4419
  "context"?: LimeWebComponentContext;
3619
4420
  /**
3620
- * List of groups to display in the kanban board. Each group contains a list of items belonging to that group.
4421
+ * List of groups to display in the kanban board. Each group contains a list of items belonging to that group.
4422
+ */
4423
+ "groups"?: KanbanGroup[];
4424
+ /**
4425
+ * Emitted when an item is interacted with
4426
+ */
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
3621
4663
  */
3622
- "groups"?: KanbanGroup[];
4664
+ "expression"?: LimeQueryFilterExpression;
3623
4665
  /**
3624
- * Emitted when an item is interacted with
4666
+ * Optional label for the expression
3625
4667
  */
3626
- "onInteract"?: (event: LimebbKanbanCustomEvent<KanbanItem>) => void;
4668
+ "label"?: string;
3627
4669
  /**
3628
- * Emitted when the load more button is clicked
4670
+ * The limetype being queried (e.g., "deal", "company") Used for property validation and type-aware inputs
3629
4671
  */
3630
- "onLoadMore"?: (event: LimebbKanbanCustomEvent<KanbanGroup>) => void;
4672
+ "limetype"?: string;
3631
4673
  /**
3632
- * Reference to the platform
3633
- * @inheritdoc
4674
+ * Emitted when the filter expression changes
3634
4675
  */
3635
- "platform": LimeWebComponentPlatform;
4676
+ "onExpressionChange"?: (event: LimebbLimeQueryFilterExpressionCustomEvent<LimeQueryFilterExpression>) => void;
4677
+ /**
4678
+ * Platform service provider
4679
+ */
4680
+ "platform"?: LimeWebComponentPlatform;
3636
4681
  }
3637
4682
  /**
3638
- * 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.
3639
4693
  * @private
3640
4694
  */
3641
- interface LimebbKanbanGroup {
4695
+ interface LimebbLimeQueryFilterNot {
3642
4696
  /**
3643
- * The context this component belongs to
3644
- * @inheritdoc
4697
+ * The limetype of the active object (for %activeObject% placeholders)
3645
4698
  */
3646
- "context"?: LimeWebComponentContext;
4699
+ "activeLimetype"?: string;
3647
4700
  /**
3648
- * The title of the group, which is taken from the `groupBy` property of the `limebb-kanban` component.
4701
+ * Component context
3649
4702
  */
3650
- "heading"?: string;
4703
+ "context"?: LimeWebComponentContext;
3651
4704
  /**
3652
- * Description of the group
4705
+ * The NOT expression containing the child expression to negate
3653
4706
  */
3654
- "help"?: string;
4707
+ "expression"?: LimeQueryFilterNot;
3655
4708
  /**
3656
- * A unique identifier for the group.
4709
+ * Optional label for the NOT expression
3657
4710
  */
3658
- "identifier"?: string;
4711
+ "label"?: string;
3659
4712
  /**
3660
- * List of items to display in the group.
4713
+ * The limetype being queried (e.g., "deal", "company")
3661
4714
  */
3662
- "items"?: KanbanItem[];
4715
+ "limetype"?: string;
3663
4716
  /**
3664
- * True if items have not finished loading.
4717
+ * Emitted when the NOT expression changes (child expression modified or removed)
3665
4718
  */
3666
- "loading"?: boolean;
4719
+ "onExpressionChange"?: (event: LimebbLimeQueryFilterNotCustomEvent<LimeQueryFilterNot | LimeQueryFilterMissing>) => void;
3667
4720
  /**
3668
- * Emitted when the load more button is clicked
4721
+ * Platform service provider
3669
4722
  */
3670
- "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 {
3671
4738
  /**
3672
- * Reference to the platform
3673
- * @inheritdoc
4739
+ * The limetype of the active object (for %activeObject% placeholders)
3674
4740
  */
3675
- "platform": LimeWebComponentPlatform;
4741
+ "activeLimetype"?: string;
3676
4742
  /**
3677
- * The summary of the group.
4743
+ * Component context
3678
4744
  */
3679
- "summary"?: string;
4745
+ "context"?: LimeWebComponentContext;
3680
4746
  /**
3681
- * 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
3682
4748
  */
3683
- "totalCount"?: number;
3684
- }
3685
- /**
3686
- * Feed item
3687
- * @private
3688
- */
3689
- interface LimebbKanbanItem {
4749
+ "expression"?: LimeQueryFilterOr;
3690
4750
  /**
3691
- * The context this component belongs to
3692
- * @inheritdoc
4751
+ * Optional label for the OR group
3693
4752
  */
3694
- "context"?: LimeWebComponentContext;
4753
+ "label"?: string;
3695
4754
  /**
3696
- * The item to display in the Kanban group.
4755
+ * The limetype being queried (e.g., "deal", "company")
3697
4756
  */
3698
- "item"?: KanbanItem;
4757
+ "limetype"?: string;
3699
4758
  /**
3700
- * Fired when clicking on the Kanban item.
4759
+ * Emitted when the OR expression changes (expressions added/removed/modified)
3701
4760
  */
3702
- "onInteract"?: (event: LimebbKanbanItemCustomEvent<KanbanItem>) => void;
4761
+ "onExpressionChange"?: (event: LimebbLimeQueryFilterOrCustomEvent<LimeQueryFilterOr | LimeQueryFilterMissing>) => void;
3703
4762
  /**
3704
- * Reference to the platform
3705
- * @inheritdoc
4763
+ * Platform service provider
3706
4764
  */
3707
- "platform": LimeWebComponentPlatform;
4765
+ "platform"?: LimeWebComponentPlatform;
3708
4766
  }
3709
4767
  /**
3710
- * Lime Query Builder Component
3711
- * A code editor for constructing Lime Query DSL queries in JSON format.
3712
- * Features:
3713
- * - **JSON code editor**: Write queries using the Lime Query DSL
3714
- * - **Syntax validation**: Real-time validation of query structure
3715
- * - **Feature flag support**: GUI mode placeholder (not yet implemented)
3716
- * The component allows editing of complete `LimeQuery` objects that can be sent
3717
- * directly to the Lime CRM backend.
3718
- * When the feature flag `useLimeQueryBuilderGuiMode` is enabled, a mode toggle
3719
- * becomes available, but GUI mode currently shows a placeholder message.
3720
- * @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
3721
4785
  * @private
3722
4786
  */
3723
- interface LimebbLimeQueryBuilder {
4787
+ interface LimebbLimeQueryValueInput {
4788
+ /**
4789
+ * The limetype of the active object (for %activeObject% placeholders)
4790
+ */
4791
+ "activeLimetype"?: string;
3724
4792
  /**
3725
4793
  * Component context
3726
4794
  */
3727
4795
  "context"?: LimeWebComponentContext;
3728
4796
  /**
3729
- * Optional label for the Lime Query builder
4797
+ * Optional label for the input
3730
4798
  */
3731
4799
  "label"?: string;
3732
4800
  /**
3733
- * Emitted when the Lime Query changes
4801
+ * The limetype being queried
3734
4802
  */
3735
- "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;
3736
4812
  /**
3737
4813
  * Platform service provider
3738
4814
  */
3739
4815
  "platform"?: LimeWebComponentPlatform;
3740
4816
  /**
3741
- * The complete Lime Query object
4817
+ * The property path (e.g., "dealstatus", "company.name")
3742
4818
  */
3743
- "value"?: LimeQuery;
4819
+ "propertyPath"?: string;
4820
+ /**
4821
+ * The current value
4822
+ */
4823
+ "value"?: any;
3744
4824
  }
3745
4825
  /**
3746
4826
  * Component for displaying the contents of an attached file on a limeobject
@@ -3768,6 +4848,89 @@ declare namespace LocalJSX {
3768
4848
  */
3769
4849
  "property"?: string;
3770
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
+ }
3771
4934
  /**
3772
4935
  * @private
3773
4936
  */
@@ -4064,6 +5227,123 @@ declare namespace LocalJSX {
4064
5227
  */
4065
5228
  "value"?: number | string;
4066
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
+ }
4067
5347
  /**
4068
5348
  * This component uses
4069
5349
  * [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)
@@ -4383,7 +5663,14 @@ declare namespace LocalJSX {
4383
5663
  "limebb-kanban-group": LimebbKanbanGroup;
4384
5664
  "limebb-kanban-item": LimebbKanbanItem;
4385
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;
4386
5672
  "limebb-limeobject-file-viewer": LimebbLimeobjectFileViewer;
5673
+ "limebb-limetype-field": LimebbLimetypeField;
4387
5674
  "limebb-live-docs-info": LimebbLiveDocsInfo;
4388
5675
  "limebb-loader": LimebbLoader;
4389
5676
  "limebb-locale-picker": LimebbLocalePicker;
@@ -4393,6 +5680,9 @@ declare namespace LocalJSX {
4393
5680
  "limebb-notification-item": LimebbNotificationItem;
4394
5681
  "limebb-notification-list": LimebbNotificationList;
4395
5682
  "limebb-percentage-visualizer": LimebbPercentageVisualizer;
5683
+ "limebb-property-selector": LimebbPropertySelector;
5684
+ "limebb-response-format-editor": LimebbResponseFormatEditor;
5685
+ "limebb-response-format-item": LimebbResponseFormatItem;
4396
5686
  "limebb-summary-popover": LimebbSummaryPopover;
4397
5687
  "limebb-text-editor": LimebbTextEditor;
4398
5688
  "limebb-text-editor-picker": LimebbTextEditorPicker;
@@ -4675,19 +5965,116 @@ declare module "@stencil/core" {
4675
5965
  "limebb-kanban-item": LocalJSX.LimebbKanbanItem & JSXBase.HTMLAttributes<HTMLLimebbKanbanItemElement>;
4676
5966
  /**
4677
5967
  * Lime Query Builder Component
4678
- * 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.
4679
5970
  * Features:
4680
- * - **JSON code editor**: Write queries using the Lime Query DSL
4681
- * - **Syntax validation**: Real-time validation of query structure
4682
- * - **Feature flag support**: GUI mode placeholder (not yet implemented)
4683
- * 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
4684
5979
  * directly to the Lime CRM backend.
4685
- * When the feature flag `useLimeQueryBuilderGuiMode` is enabled, a mode toggle
4686
- * becomes available, but GUI mode currently shows a placeholder message.
4687
5980
  * @exampleComponent limebb-example-lime-query-builder-basic
4688
5981
  * @private
4689
5982
  */
4690
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>;
4691
6078
  /**
4692
6079
  * Component for displaying the contents of an attached file on a limeobject
4693
6080
  * Example use case is to use it as a tab on the document card
@@ -4697,6 +6084,22 @@ declare module "@stencil/core" {
4697
6084
  * @beta
4698
6085
  */
4699
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>;
4700
6103
  /**
4701
6104
  * @private
4702
6105
  */
@@ -4791,6 +6194,44 @@ declare module "@stencil/core" {
4791
6194
  * @beta
4792
6195
  */
4793
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>;
4794
6235
  /**
4795
6236
  * This component uses
4796
6237
  * [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)