@limetech/lime-crm-building-blocks 1.96.0 → 1.98.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 +14 -0
  2. package/dist/cjs/{_MapCache-2e84a981.js → _MapCache-8b125fbb.js} +0 -26
  3. package/dist/cjs/{_Uint8Array-1e99726d.js → _Uint8Array-95263550.js} +1 -12
  4. package/dist/cjs/_baseIsEqual-cb7951b0.js +496 -0
  5. package/dist/cjs/_defineProperty-40a6ad5d.js +15 -0
  6. package/dist/cjs/{get-1acf79ce.js → get-932b213e.js} +5 -4
  7. package/dist/cjs/isEqual-e77cce75.js +37 -0
  8. package/dist/cjs/isSymbol-5b36aeee.js +30 -0
  9. package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
  10. package/dist/cjs/lime-query.types-bcb63a22.js +61 -0
  11. package/dist/cjs/limebb-component-config.cjs.entry.js +3 -2
  12. package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +378 -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 +253 -27
  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 +437 -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 +375 -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-0957b2a6.entry.js +1 -0
  136. package/dist/lime-crm-building-blocks/p-123190c3.js +1 -0
  137. package/dist/lime-crm-building-blocks/p-244ee55b.entry.js +1 -0
  138. package/dist/lime-crm-building-blocks/p-35897ec3.js +1 -0
  139. package/dist/lime-crm-building-blocks/{p-85b7291c.entry.js → p-3932077b.entry.js} +1 -1
  140. package/dist/lime-crm-building-blocks/p-3b0a15ec.js +1 -0
  141. package/dist/lime-crm-building-blocks/p-5a6d2e7f.js +1 -0
  142. package/dist/lime-crm-building-blocks/p-60971d64.js +1 -0
  143. package/dist/lime-crm-building-blocks/p-6c1146ca.entry.js +1 -0
  144. package/dist/lime-crm-building-blocks/p-70a28b93.entry.js +1 -0
  145. package/dist/lime-crm-building-blocks/p-7e6fb4af.js +1 -0
  146. package/dist/lime-crm-building-blocks/{p-8664381a.entry.js → p-8c4eb49f.entry.js} +1 -1
  147. package/dist/lime-crm-building-blocks/p-96beaabc.entry.js +1 -0
  148. package/dist/lime-crm-building-blocks/p-a659d55a.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 +40 -7
  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 +1587 -114
  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,19 +949,32 @@ 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
+ * - **Placeholder support**: Use `%activeObject%` placeholders in filter values
962
+ * - **Real-time output**: See the Lime Query JSON as you build
963
+ * The component produces a complete `LimeQuery` object that can be sent
956
964
  * 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.
965
+ * **Active Object Placeholders**:
966
+ * When the `activeLimetype` prop is provided, the component enables validation
967
+ * and UI support for `%activeObject%` placeholders in filter expressions.
968
+ * These placeholders reference properties of a contextual "active object"
969
+ * (e.g., `%activeObject%.company` references the company of the active object).
959
970
  * @exampleComponent limebb-example-lime-query-builder-basic
960
971
  * @private
961
972
  */
962
973
  interface LimebbLimeQueryBuilder {
974
+ /**
975
+ * The limetype of the active object (for %activeObject% placeholder validation). When provided, enables placeholder validation and the placeholder input mode. When omitted, placeholders are accepted without validation.
976
+ */
977
+ "activeLimetype"?: string;
963
978
  /**
964
979
  * Component context
965
980
  */
@@ -977,6 +992,258 @@ export namespace Components {
977
992
  */
978
993
  "value": LimeQuery;
979
994
  }
995
+ /**
996
+ * Lime Query Filter AND Component
997
+ * Renders a group of filter expressions where **all conditions must be true**.
998
+ * Users can add multiple child expressions, and a record must match all of them
999
+ * to be included in the result set.
1000
+ * This component displays:
1001
+ * - A header with "All of these conditions are true" when there are multiple conditions
1002
+ * - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
1003
+ * - An "Add another condition" button to add more expressions
1004
+ * Clicking the trash icon on a child expression removes it from the AND group.
1005
+ * @private
1006
+ */
1007
+ interface LimebbLimeQueryFilterAnd {
1008
+ /**
1009
+ * The limetype of the active object (for %activeObject% placeholders)
1010
+ */
1011
+ "activeLimetype"?: string;
1012
+ /**
1013
+ * Component context
1014
+ */
1015
+ "context": LimeWebComponentContext;
1016
+ /**
1017
+ * The AND expression containing child expressions
1018
+ */
1019
+ "expression": LimeQueryFilterAnd;
1020
+ /**
1021
+ * Optional label for the AND group
1022
+ */
1023
+ "label": string;
1024
+ /**
1025
+ * The limetype being queried (e.g., "deal", "company")
1026
+ */
1027
+ "limetype": string;
1028
+ /**
1029
+ * Platform service provider
1030
+ */
1031
+ "platform": LimeWebComponentPlatform;
1032
+ }
1033
+ /**
1034
+ * Lime Query Filter Comparison Component
1035
+ * Renders a single comparison expression with three parts:
1036
+ * 1. **Property** - The field to compare (e.g., "dealstatus", "company.name")
1037
+ * 2. **Operator** - The comparison operator (=, !=, >, <, >=, <=, IN, ?, =?, =$)
1038
+ * 3. **Value** - The value to compare against
1039
+ * This is the most basic building block of a filter. Examples:
1040
+ * - dealstatus = "won"
1041
+ * - value > 100000
1042
+ * - name ? "Big" (contains "Big")
1043
+ * - dealstatus IN ["won", "tender"]
1044
+ * The component displays:
1045
+ * - A text input for the property (Phase 0 - will be replaced with property-path in Phase 1)
1046
+ * - A dropdown for the operator
1047
+ * - A value input (text/number based on operator)
1048
+ * - A trash icon button to remove this condition
1049
+ * @private
1050
+ */
1051
+ interface LimebbLimeQueryFilterComparison {
1052
+ /**
1053
+ * The limetype of the active object (for %activeObject% placeholders)
1054
+ */
1055
+ "activeLimetype"?: string;
1056
+ /**
1057
+ * Component context
1058
+ */
1059
+ "context": LimeWebComponentContext;
1060
+ /**
1061
+ * The comparison expression to render
1062
+ */
1063
+ "expression": LimeQueryFilterComparison;
1064
+ /**
1065
+ * Optional label for the comparison
1066
+ */
1067
+ "label": string;
1068
+ /**
1069
+ * The limetype being queried (e.g., "deal", "company")
1070
+ */
1071
+ "limetype": string;
1072
+ /**
1073
+ * Platform service provider
1074
+ */
1075
+ "platform": LimeWebComponentPlatform;
1076
+ }
1077
+ /**
1078
+ * Lime Query Filter Expression Router
1079
+ * This is the main entry point for rendering Lime Query filters.
1080
+ * It routes to the appropriate sub-component based on the filter type:
1081
+ * - `'AND'` → limebb-lime-query-filter-and
1082
+ * - `'OR'` → limebb-lime-query-filter-or
1083
+ * - `'NOT'` → limebb-lime-query-filter-not
1084
+ * - `'comparison'` → limebb-lime-query-filter-comparison
1085
+ * - `''` (missing) → limebb-lime-query-filter-comparison (default)
1086
+ * Use this component when you need to render a complete filter expression
1087
+ * that may contain nested AND/OR/NOT logic.
1088
+ * @private
1089
+ */
1090
+ interface LimebbLimeQueryFilterExpression {
1091
+ /**
1092
+ * The limetype of the active object (for %activeObject% placeholders) Optional - used for validation and property suggestions
1093
+ */
1094
+ "activeLimetype"?: string;
1095
+ /**
1096
+ * Component context
1097
+ */
1098
+ "context": LimeWebComponentContext;
1099
+ /**
1100
+ * The filter expression to render
1101
+ */
1102
+ "expression": LimeQueryFilterExpression;
1103
+ /**
1104
+ * Optional label for the expression
1105
+ */
1106
+ "label": string;
1107
+ /**
1108
+ * The limetype being queried (e.g., "deal", "company") Used for property validation and type-aware inputs
1109
+ */
1110
+ "limetype": string;
1111
+ /**
1112
+ * Platform service provider
1113
+ */
1114
+ "platform": LimeWebComponentPlatform;
1115
+ }
1116
+ /**
1117
+ * Lime Query Filter NOT Component
1118
+ * Renders a negated filter expression. This inverts the logic of the child expression,
1119
+ * so records that would normally match will be excluded, and vice versa.
1120
+ * For example:
1121
+ * - NOT (status = "won") → Include all records where status is NOT "won"
1122
+ * - NOT (value > 100000) → Include all records where value is NOT greater than 100000
1123
+ * This component displays:
1124
+ * - A "Not" label
1125
+ * - A single child expression (which can be a comparison or nested AND/OR group)
1126
+ * Clicking the trash icon removes the entire NOT expression.
1127
+ * @private
1128
+ */
1129
+ interface LimebbLimeQueryFilterNot {
1130
+ /**
1131
+ * The limetype of the active object (for %activeObject% placeholders)
1132
+ */
1133
+ "activeLimetype"?: string;
1134
+ /**
1135
+ * Component context
1136
+ */
1137
+ "context": LimeWebComponentContext;
1138
+ /**
1139
+ * The NOT expression containing the child expression to negate
1140
+ */
1141
+ "expression": LimeQueryFilterNot;
1142
+ /**
1143
+ * Optional label for the NOT expression
1144
+ */
1145
+ "label": string;
1146
+ /**
1147
+ * The limetype being queried (e.g., "deal", "company")
1148
+ */
1149
+ "limetype": string;
1150
+ /**
1151
+ * Platform service provider
1152
+ */
1153
+ "platform": LimeWebComponentPlatform;
1154
+ }
1155
+ /**
1156
+ * Lime Query Filter OR Component
1157
+ * Renders a group of filter expressions where **at least one condition must be true**.
1158
+ * Users can add multiple alternative expressions, and a record only needs to match
1159
+ * one of them to be included in the result set.
1160
+ * This component displays:
1161
+ * - A header with "Any of these conditions is true" when there are multiple conditions
1162
+ * - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
1163
+ * - An "Add alternative" button to add more options
1164
+ * Clicking the trash icon on a child expression removes it from the OR group.
1165
+ * @private
1166
+ */
1167
+ interface LimebbLimeQueryFilterOr {
1168
+ /**
1169
+ * The limetype of the active object (for %activeObject% placeholders)
1170
+ */
1171
+ "activeLimetype"?: string;
1172
+ /**
1173
+ * Component context
1174
+ */
1175
+ "context": LimeWebComponentContext;
1176
+ /**
1177
+ * The OR expression containing child expressions
1178
+ */
1179
+ "expression": LimeQueryFilterOr;
1180
+ /**
1181
+ * Optional label for the OR group
1182
+ */
1183
+ "label": string;
1184
+ /**
1185
+ * The limetype being queried (e.g., "deal", "company")
1186
+ */
1187
+ "limetype": string;
1188
+ /**
1189
+ * Platform service provider
1190
+ */
1191
+ "platform": LimeWebComponentPlatform;
1192
+ }
1193
+ /**
1194
+ * Query Value Input Component
1195
+ * Renders an appropriate input control based on the property type and operator.
1196
+ * This component automatically adapts its UI to match the data type of the selected
1197
+ * property, providing a better user experience and data validation.
1198
+ * Supported input types:
1199
+ * - **String/Text**: Standard text input field
1200
+ * - **Integer/Decimal**: Number input with appropriate step values
1201
+ * - **Date**: Date picker returning ISO date strings
1202
+ * - **Time**: Time input field
1203
+ * - **Boolean (yesno)**: True/False dropdown
1204
+ * - **Option**: Dropdown populated with valid options from property definition
1205
+ * - **IN operator**: Comma-separated input for multiple values (any type)
1206
+ * - **Placeholder mode**: Select properties from active object using %activeObject%
1207
+ * The component handles type conversions automatically:
1208
+ * - Numbers are parsed from string inputs
1209
+ * - Dates are converted to/from ISO strings
1210
+ * - Booleans are converted to/from strings for dropdown compatibility
1211
+ * @private
1212
+ */
1213
+ interface LimebbLimeQueryValueInput {
1214
+ /**
1215
+ * The limetype of the active object (for %activeObject% placeholders)
1216
+ */
1217
+ "activeLimetype"?: string;
1218
+ /**
1219
+ * Component context
1220
+ */
1221
+ "context": LimeWebComponentContext;
1222
+ /**
1223
+ * Optional label for the input
1224
+ */
1225
+ "label": string;
1226
+ /**
1227
+ * The limetype being queried
1228
+ */
1229
+ "limetype": string;
1230
+ /**
1231
+ * The operator being used
1232
+ */
1233
+ "operator": FilterOperator;
1234
+ /**
1235
+ * Platform service provider
1236
+ */
1237
+ "platform": LimeWebComponentPlatform;
1238
+ /**
1239
+ * The property path (e.g., "dealstatus", "company.name")
1240
+ */
1241
+ "propertyPath": string;
1242
+ /**
1243
+ * The current value
1244
+ */
1245
+ "value": any;
1246
+ }
980
1247
  /**
981
1248
  * Component for displaying the contents of an attached file on a limeobject
982
1249
  * Example use case is to use it as a tab on the document card
@@ -1003,6 +1270,84 @@ export namespace Components {
1003
1270
  */
1004
1271
  "property": string;
1005
1272
  }
1273
+ /**
1274
+ * Limetype Field Component
1275
+ * A dropdown selector for choosing a limetype (object type) from the available
1276
+ * limetypes in the system.
1277
+ * This component:
1278
+ * - Displays all limetypes with their icons and localized names
1279
+ * - Supports restricting to a specific list of limetypes
1280
+ * - Can update dependent property-path fields when selection changes
1281
+ * - Implements the FormComponent interface for use in forms
1282
+ * Common use cases:
1283
+ * - Selecting which object type to query in a lime query builder
1284
+ * - Choosing target limetype for relations
1285
+ * - Configuring limetype-dependent settings
1286
+ * @private
1287
+ */
1288
+ interface LimebbLimetypeField {
1289
+ /**
1290
+ * The context this component belongs to
1291
+ * @inheritdoc
1292
+ */
1293
+ "context": LimeWebComponentContext;
1294
+ /**
1295
+ * Whether or not the current property is disabled
1296
+ * @inheritdoc
1297
+ */
1298
+ "disabled": boolean;
1299
+ /**
1300
+ * The name of this field. May be used as reference when a property mapping depends on the selected limetype.
1301
+ */
1302
+ "fieldName": string;
1303
+ /**
1304
+ * Additional contextual information about the form
1305
+ * @inheritdoc
1306
+ */
1307
+ "formInfo"?: FormInfo;
1308
+ /**
1309
+ * The helper text for the current property
1310
+ * @inheritdoc
1311
+ */
1312
+ "helperText": string;
1313
+ /**
1314
+ * @inheritdoc
1315
+ */
1316
+ "invalid": boolean;
1317
+ /**
1318
+ * The label of the current property
1319
+ * @inheritdoc
1320
+ */
1321
+ "label": string;
1322
+ /**
1323
+ * The limetypes to choose from
1324
+ */
1325
+ "limetypes"?: string[];
1326
+ /**
1327
+ * Reference to the platform
1328
+ * @inheritdoc
1329
+ */
1330
+ "platform": LimeWebComponentPlatform;
1331
+ /**
1332
+ * A list of property fields that should be updated when the selected limetype changes.
1333
+ */
1334
+ "propertyFields": DependentPropertyField[];
1335
+ /**
1336
+ * Whether or not the current property is readonly
1337
+ * @inheritdoc
1338
+ */
1339
+ "readonly": boolean;
1340
+ /**
1341
+ * Whether or not the current property is required
1342
+ * @inheritdoc
1343
+ */
1344
+ "required": boolean;
1345
+ /**
1346
+ * The value of the current property
1347
+ * @inheritdoc
1348
+ */
1349
+ "value": string;
1350
+ }
1006
1351
  /**
1007
1352
  * @private
1008
1353
  */
@@ -1282,6 +1627,111 @@ export namespace Components {
1282
1627
  */
1283
1628
  "value": number | string;
1284
1629
  }
1630
+ /**
1631
+ * Property Selector Component
1632
+ * A menu-based property selector that allows users to navigate through properties
1633
+ * and relations, only emitting complete property paths (not intermediate relations).
1634
+ * Similar to limec-context-expression but specifically for selecting properties
1635
+ * with dot-notation paths.
1636
+ * Features:
1637
+ * - Menu-based navigation through properties
1638
+ * - Submenu support for drilling into relations
1639
+ * - Internal state management during navigation
1640
+ * - Only emits complete paths (leaf properties)
1641
+ * - Chip-set display showing current path
1642
+ * @private
1643
+ */
1644
+ interface LimebbPropertySelector {
1645
+ /**
1646
+ * Component context
1647
+ */
1648
+ "context": LimeWebComponentContext;
1649
+ /**
1650
+ * Helper text to display
1651
+ */
1652
+ "helperText": string;
1653
+ /**
1654
+ * Label for the input
1655
+ */
1656
+ "label": string;
1657
+ /**
1658
+ * The limetype to select properties from
1659
+ */
1660
+ "limetype": string;
1661
+ /**
1662
+ * Platform service provider
1663
+ */
1664
+ "platform": LimeWebComponentPlatform;
1665
+ /**
1666
+ * Whether the field is required
1667
+ */
1668
+ "required": boolean;
1669
+ /**
1670
+ * Current complete property path value
1671
+ */
1672
+ "value": string;
1673
+ }
1674
+ /**
1675
+ * Response Format Editor Component
1676
+ * Allows users to select which properties should be returned in the query response.
1677
+ * Supports selecting properties on both the main limetype and related limetypes
1678
+ * through belongsto relations.
1679
+ * Features:
1680
+ * - **Property selection**: Choose properties using dropdown navigation
1681
+ * - **Nested properties**: Select properties on related objects (e.g., company.name)
1682
+ * - **Property aliases**: Optionally rename properties in the response
1683
+ * - **Dynamic list**: Add/remove property selections
1684
+ * - **Real-time updates**: Changes immediately update the responseFormat
1685
+ * The component generates a `ResponseFormat` object with the `object` field
1686
+ * containing the selected properties.
1687
+ * @private
1688
+ */
1689
+ interface LimebbResponseFormatEditor {
1690
+ /**
1691
+ * Component context
1692
+ */
1693
+ "context": LimeWebComponentContext;
1694
+ /**
1695
+ * Optional label
1696
+ */
1697
+ "label": string;
1698
+ /**
1699
+ * The limetype to select properties from
1700
+ */
1701
+ "limetype": string;
1702
+ /**
1703
+ * Platform service provider
1704
+ */
1705
+ "platform": LimeWebComponentPlatform;
1706
+ /**
1707
+ * Current response format
1708
+ */
1709
+ "value": ResponseFormat;
1710
+ }
1711
+ /**
1712
+ * Response Format Property Item Component
1713
+ * Represents a single property selection with optional alias and description
1714
+ * Part of the response format editor
1715
+ * @private
1716
+ */
1717
+ interface LimebbResponseFormatItem {
1718
+ /**
1719
+ * Component context
1720
+ */
1721
+ "context": LimeWebComponentContext;
1722
+ /**
1723
+ * The property selection item
1724
+ */
1725
+ "item": PropertySelectionItem;
1726
+ /**
1727
+ * The limetype to select properties from
1728
+ */
1729
+ "limetype": string;
1730
+ /**
1731
+ * Platform service provider
1732
+ */
1733
+ "platform": LimeWebComponentPlatform;
1734
+ }
1285
1735
  /**
1286
1736
  * This component uses
1287
1737
  * [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)
@@ -1637,6 +2087,34 @@ export interface LimebbLimeQueryBuilderCustomEvent<T> extends CustomEvent<T> {
1637
2087
  detail: T;
1638
2088
  target: HTMLLimebbLimeQueryBuilderElement;
1639
2089
  }
2090
+ export interface LimebbLimeQueryFilterAndCustomEvent<T> extends CustomEvent<T> {
2091
+ detail: T;
2092
+ target: HTMLLimebbLimeQueryFilterAndElement;
2093
+ }
2094
+ export interface LimebbLimeQueryFilterComparisonCustomEvent<T> extends CustomEvent<T> {
2095
+ detail: T;
2096
+ target: HTMLLimebbLimeQueryFilterComparisonElement;
2097
+ }
2098
+ export interface LimebbLimeQueryFilterExpressionCustomEvent<T> extends CustomEvent<T> {
2099
+ detail: T;
2100
+ target: HTMLLimebbLimeQueryFilterExpressionElement;
2101
+ }
2102
+ export interface LimebbLimeQueryFilterNotCustomEvent<T> extends CustomEvent<T> {
2103
+ detail: T;
2104
+ target: HTMLLimebbLimeQueryFilterNotElement;
2105
+ }
2106
+ export interface LimebbLimeQueryFilterOrCustomEvent<T> extends CustomEvent<T> {
2107
+ detail: T;
2108
+ target: HTMLLimebbLimeQueryFilterOrElement;
2109
+ }
2110
+ export interface LimebbLimeQueryValueInputCustomEvent<T> extends CustomEvent<T> {
2111
+ detail: T;
2112
+ target: HTMLLimebbLimeQueryValueInputElement;
2113
+ }
2114
+ export interface LimebbLimetypeFieldCustomEvent<T> extends CustomEvent<T> {
2115
+ detail: T;
2116
+ target: HTMLLimebbLimetypeFieldElement;
2117
+ }
1640
2118
  export interface LimebbLoaderCustomEvent<T> extends CustomEvent<T> {
1641
2119
  detail: T;
1642
2120
  target: HTMLLimebbLoaderElement;
@@ -1653,6 +2131,18 @@ export interface LimebbNotificationListCustomEvent<T> extends CustomEvent<T> {
1653
2131
  detail: T;
1654
2132
  target: HTMLLimebbNotificationListElement;
1655
2133
  }
2134
+ export interface LimebbPropertySelectorCustomEvent<T> extends CustomEvent<T> {
2135
+ detail: T;
2136
+ target: HTMLLimebbPropertySelectorElement;
2137
+ }
2138
+ export interface LimebbResponseFormatEditorCustomEvent<T> extends CustomEvent<T> {
2139
+ detail: T;
2140
+ target: HTMLLimebbResponseFormatEditorElement;
2141
+ }
2142
+ export interface LimebbResponseFormatItemCustomEvent<T> extends CustomEvent<T> {
2143
+ detail: T;
2144
+ target: HTMLLimebbResponseFormatItemElement;
2145
+ }
1656
2146
  export interface LimebbSummaryPopoverCustomEvent<T> extends CustomEvent<T> {
1657
2147
  detail: T;
1658
2148
  target: HTMLLimebbSummaryPopoverElement;
@@ -2248,66 +2738,265 @@ declare global {
2248
2738
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2249
2739
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2250
2740
  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;
2741
+ removeEventListener<K extends keyof HTMLLimebbKanbanGroupElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanGroupElement, ev: LimebbKanbanGroupCustomEvent<HTMLLimebbKanbanGroupElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2742
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2743
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2744
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2745
+ }
2746
+ var HTMLLimebbKanbanGroupElement: {
2747
+ prototype: HTMLLimebbKanbanGroupElement;
2748
+ new (): HTMLLimebbKanbanGroupElement;
2749
+ };
2750
+ interface HTMLLimebbKanbanItemElementEventMap {
2751
+ "interact": KanbanItem;
2752
+ }
2753
+ /**
2754
+ * Feed item
2755
+ * @private
2756
+ */
2757
+ interface HTMLLimebbKanbanItemElement extends Components.LimebbKanbanItem, HTMLStencilElement {
2758
+ addEventListener<K extends keyof HTMLLimebbKanbanItemElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanItemElement, ev: LimebbKanbanItemCustomEvent<HTMLLimebbKanbanItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2759
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2760
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2761
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2762
+ removeEventListener<K extends keyof HTMLLimebbKanbanItemElementEventMap>(type: K, listener: (this: HTMLLimebbKanbanItemElement, ev: LimebbKanbanItemCustomEvent<HTMLLimebbKanbanItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2763
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2764
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2765
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2766
+ }
2767
+ var HTMLLimebbKanbanItemElement: {
2768
+ prototype: HTMLLimebbKanbanItemElement;
2769
+ new (): HTMLLimebbKanbanItemElement;
2770
+ };
2771
+ interface HTMLLimebbLimeQueryBuilderElementEventMap {
2772
+ "change": LimeQuery;
2773
+ }
2774
+ /**
2775
+ * Lime Query Builder Component
2776
+ * A comprehensive query builder for constructing Lime Query DSL queries.
2777
+ * This is the main component that combines limetype selection with the filter builder.
2778
+ * Features:
2779
+ * - **Limetype selection**: Choose which object type to query
2780
+ * - **Filter builder**: Build complex filters with AND/OR/NOT logic
2781
+ * - **Property path selection**: Navigate through relations
2782
+ * - **Type-aware inputs**: Automatic input types based on property type
2783
+ * - **Response format**: Select which properties to return
2784
+ * - **Query options**: Configure limit and other query parameters
2785
+ * - **Placeholder support**: Use `%activeObject%` placeholders in filter values
2786
+ * - **Real-time output**: See the Lime Query JSON as you build
2787
+ * The component produces a complete `LimeQuery` object that can be sent
2788
+ * directly to the Lime CRM backend.
2789
+ * **Active Object Placeholders**:
2790
+ * When the `activeLimetype` prop is provided, the component enables validation
2791
+ * and UI support for `%activeObject%` placeholders in filter expressions.
2792
+ * These placeholders reference properties of a contextual "active object"
2793
+ * (e.g., `%activeObject%.company` references the company of the active object).
2794
+ * @exampleComponent limebb-example-lime-query-builder-basic
2795
+ * @private
2796
+ */
2797
+ interface HTMLLimebbLimeQueryBuilderElement extends Components.LimebbLimeQueryBuilder, HTMLStencilElement {
2798
+ addEventListener<K extends keyof HTMLLimebbLimeQueryBuilderElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryBuilderElement, ev: LimebbLimeQueryBuilderCustomEvent<HTMLLimebbLimeQueryBuilderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2799
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2800
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2801
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2802
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryBuilderElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryBuilderElement, ev: LimebbLimeQueryBuilderCustomEvent<HTMLLimebbLimeQueryBuilderElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2803
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2804
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2805
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2806
+ }
2807
+ var HTMLLimebbLimeQueryBuilderElement: {
2808
+ prototype: HTMLLimebbLimeQueryBuilderElement;
2809
+ new (): HTMLLimebbLimeQueryBuilderElement;
2810
+ };
2811
+ interface HTMLLimebbLimeQueryFilterAndElementEventMap {
2812
+ "expressionChange": LimeQueryFilterAnd | LimeQueryFilterMissing;
2813
+ }
2814
+ /**
2815
+ * Lime Query Filter AND Component
2816
+ * Renders a group of filter expressions where **all conditions must be true**.
2817
+ * Users can add multiple child expressions, and a record must match all of them
2818
+ * to be included in the result set.
2819
+ * This component displays:
2820
+ * - A header with "All of these conditions are true" when there are multiple conditions
2821
+ * - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
2822
+ * - An "Add another condition" button to add more expressions
2823
+ * Clicking the trash icon on a child expression removes it from the AND group.
2824
+ * @private
2825
+ */
2826
+ interface HTMLLimebbLimeQueryFilterAndElement extends Components.LimebbLimeQueryFilterAnd, HTMLStencilElement {
2827
+ addEventListener<K extends keyof HTMLLimebbLimeQueryFilterAndElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterAndElement, ev: LimebbLimeQueryFilterAndCustomEvent<HTMLLimebbLimeQueryFilterAndElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2828
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2829
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2830
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2831
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterAndElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterAndElement, ev: LimebbLimeQueryFilterAndCustomEvent<HTMLLimebbLimeQueryFilterAndElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2832
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2833
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2834
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2835
+ }
2836
+ var HTMLLimebbLimeQueryFilterAndElement: {
2837
+ prototype: HTMLLimebbLimeQueryFilterAndElement;
2838
+ new (): HTMLLimebbLimeQueryFilterAndElement;
2839
+ };
2840
+ interface HTMLLimebbLimeQueryFilterComparisonElementEventMap {
2841
+ "expressionChange": LimeQueryFilterComparison | LimeQueryFilterMissing;
2842
+ }
2843
+ /**
2844
+ * Lime Query Filter Comparison Component
2845
+ * Renders a single comparison expression with three parts:
2846
+ * 1. **Property** - The field to compare (e.g., "dealstatus", "company.name")
2847
+ * 2. **Operator** - The comparison operator (=, !=, >, <, >=, <=, IN, ?, =?, =$)
2848
+ * 3. **Value** - The value to compare against
2849
+ * This is the most basic building block of a filter. Examples:
2850
+ * - dealstatus = "won"
2851
+ * - value > 100000
2852
+ * - name ? "Big" (contains "Big")
2853
+ * - dealstatus IN ["won", "tender"]
2854
+ * The component displays:
2855
+ * - A text input for the property (Phase 0 - will be replaced with property-path in Phase 1)
2856
+ * - A dropdown for the operator
2857
+ * - A value input (text/number based on operator)
2858
+ * - A trash icon button to remove this condition
2859
+ * @private
2860
+ */
2861
+ interface HTMLLimebbLimeQueryFilterComparisonElement extends Components.LimebbLimeQueryFilterComparison, HTMLStencilElement {
2862
+ addEventListener<K extends keyof HTMLLimebbLimeQueryFilterComparisonElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterComparisonElement, ev: LimebbLimeQueryFilterComparisonCustomEvent<HTMLLimebbLimeQueryFilterComparisonElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2863
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2864
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2865
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2866
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterComparisonElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterComparisonElement, ev: LimebbLimeQueryFilterComparisonCustomEvent<HTMLLimebbLimeQueryFilterComparisonElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2867
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2868
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2869
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2870
+ }
2871
+ var HTMLLimebbLimeQueryFilterComparisonElement: {
2872
+ prototype: HTMLLimebbLimeQueryFilterComparisonElement;
2873
+ new (): HTMLLimebbLimeQueryFilterComparisonElement;
2874
+ };
2875
+ interface HTMLLimebbLimeQueryFilterExpressionElementEventMap {
2876
+ "expressionChange": LimeQueryFilterExpression;
2877
+ }
2878
+ /**
2879
+ * Lime Query Filter Expression Router
2880
+ * This is the main entry point for rendering Lime Query filters.
2881
+ * It routes to the appropriate sub-component based on the filter type:
2882
+ * - `'AND'` → limebb-lime-query-filter-and
2883
+ * - `'OR'` → limebb-lime-query-filter-or
2884
+ * - `'NOT'` → limebb-lime-query-filter-not
2885
+ * - `'comparison'` → limebb-lime-query-filter-comparison
2886
+ * - `''` (missing) → limebb-lime-query-filter-comparison (default)
2887
+ * Use this component when you need to render a complete filter expression
2888
+ * that may contain nested AND/OR/NOT logic.
2889
+ * @private
2890
+ */
2891
+ interface HTMLLimebbLimeQueryFilterExpressionElement extends Components.LimebbLimeQueryFilterExpression, HTMLStencilElement {
2892
+ addEventListener<K extends keyof HTMLLimebbLimeQueryFilterExpressionElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterExpressionElement, ev: LimebbLimeQueryFilterExpressionCustomEvent<HTMLLimebbLimeQueryFilterExpressionElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2893
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2894
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2895
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2896
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterExpressionElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterExpressionElement, ev: LimebbLimeQueryFilterExpressionCustomEvent<HTMLLimebbLimeQueryFilterExpressionElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2897
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2898
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2899
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2900
+ }
2901
+ var HTMLLimebbLimeQueryFilterExpressionElement: {
2902
+ prototype: HTMLLimebbLimeQueryFilterExpressionElement;
2903
+ new (): HTMLLimebbLimeQueryFilterExpressionElement;
2904
+ };
2905
+ interface HTMLLimebbLimeQueryFilterNotElementEventMap {
2906
+ "expressionChange": LimeQueryFilterNot | LimeQueryFilterMissing;
2907
+ }
2908
+ /**
2909
+ * Lime Query Filter NOT Component
2910
+ * Renders a negated filter expression. This inverts the logic of the child expression,
2911
+ * so records that would normally match will be excluded, and vice versa.
2912
+ * For example:
2913
+ * - NOT (status = "won") → Include all records where status is NOT "won"
2914
+ * - NOT (value > 100000) → Include all records where value is NOT greater than 100000
2915
+ * This component displays:
2916
+ * - A "Not" label
2917
+ * - A single child expression (which can be a comparison or nested AND/OR group)
2918
+ * Clicking the trash icon removes the entire NOT expression.
2919
+ * @private
2920
+ */
2921
+ interface HTMLLimebbLimeQueryFilterNotElement extends Components.LimebbLimeQueryFilterNot, HTMLStencilElement {
2922
+ addEventListener<K extends keyof HTMLLimebbLimeQueryFilterNotElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterNotElement, ev: LimebbLimeQueryFilterNotCustomEvent<HTMLLimebbLimeQueryFilterNotElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2923
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2924
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2925
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2926
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterNotElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterNotElement, ev: LimebbLimeQueryFilterNotCustomEvent<HTMLLimebbLimeQueryFilterNotElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2252
2927
  removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2253
2928
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2254
2929
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2255
2930
  }
2256
- var HTMLLimebbKanbanGroupElement: {
2257
- prototype: HTMLLimebbKanbanGroupElement;
2258
- new (): HTMLLimebbKanbanGroupElement;
2931
+ var HTMLLimebbLimeQueryFilterNotElement: {
2932
+ prototype: HTMLLimebbLimeQueryFilterNotElement;
2933
+ new (): HTMLLimebbLimeQueryFilterNotElement;
2259
2934
  };
2260
- interface HTMLLimebbKanbanItemElementEventMap {
2261
- "interact": KanbanItem;
2935
+ interface HTMLLimebbLimeQueryFilterOrElementEventMap {
2936
+ "expressionChange": LimeQueryFilterOr | LimeQueryFilterMissing;
2262
2937
  }
2263
2938
  /**
2264
- * Feed item
2939
+ * Lime Query Filter OR Component
2940
+ * Renders a group of filter expressions where **at least one condition must be true**.
2941
+ * Users can add multiple alternative expressions, and a record only needs to match
2942
+ * one of them to be included in the result set.
2943
+ * This component displays:
2944
+ * - A header with "Any of these conditions is true" when there are multiple conditions
2945
+ * - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
2946
+ * - An "Add alternative" button to add more options
2947
+ * Clicking the trash icon on a child expression removes it from the OR group.
2265
2948
  * @private
2266
2949
  */
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;
2950
+ interface HTMLLimebbLimeQueryFilterOrElement extends Components.LimebbLimeQueryFilterOr, HTMLStencilElement {
2951
+ addEventListener<K extends keyof HTMLLimebbLimeQueryFilterOrElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterOrElement, ev: LimebbLimeQueryFilterOrCustomEvent<HTMLLimebbLimeQueryFilterOrElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2269
2952
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2270
2953
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2271
2954
  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;
2955
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryFilterOrElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryFilterOrElement, ev: LimebbLimeQueryFilterOrCustomEvent<HTMLLimebbLimeQueryFilterOrElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2273
2956
  removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2274
2957
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2275
2958
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2276
2959
  }
2277
- var HTMLLimebbKanbanItemElement: {
2278
- prototype: HTMLLimebbKanbanItemElement;
2279
- new (): HTMLLimebbKanbanItemElement;
2960
+ var HTMLLimebbLimeQueryFilterOrElement: {
2961
+ prototype: HTMLLimebbLimeQueryFilterOrElement;
2962
+ new (): HTMLLimebbLimeQueryFilterOrElement;
2280
2963
  };
2281
- interface HTMLLimebbLimeQueryBuilderElementEventMap {
2282
- "change": LimeQuery;
2964
+ interface HTMLLimebbLimeQueryValueInputElementEventMap {
2965
+ "change": any;
2283
2966
  }
2284
2967
  /**
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
2968
+ * Query Value Input Component
2969
+ * Renders an appropriate input control based on the property type and operator.
2970
+ * This component automatically adapts its UI to match the data type of the selected
2971
+ * property, providing a better user experience and data validation.
2972
+ * Supported input types:
2973
+ * - **String/Text**: Standard text input field
2974
+ * - **Integer/Decimal**: Number input with appropriate step values
2975
+ * - **Date**: Date picker returning ISO date strings
2976
+ * - **Time**: Time input field
2977
+ * - **Boolean (yesno)**: True/False dropdown
2978
+ * - **Option**: Dropdown populated with valid options from property definition
2979
+ * - **IN operator**: Comma-separated input for multiple values (any type)
2980
+ * - **Placeholder mode**: Select properties from active object using %activeObject%
2981
+ * The component handles type conversions automatically:
2982
+ * - Numbers are parsed from string inputs
2983
+ * - Dates are converted to/from ISO strings
2984
+ * - Booleans are converted to/from strings for dropdown compatibility
2296
2985
  * @private
2297
2986
  */
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;
2987
+ interface HTMLLimebbLimeQueryValueInputElement extends Components.LimebbLimeQueryValueInput, HTMLStencilElement {
2988
+ addEventListener<K extends keyof HTMLLimebbLimeQueryValueInputElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryValueInputElement, ev: LimebbLimeQueryValueInputCustomEvent<HTMLLimebbLimeQueryValueInputElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2300
2989
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2301
2990
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2302
2991
  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;
2992
+ removeEventListener<K extends keyof HTMLLimebbLimeQueryValueInputElementEventMap>(type: K, listener: (this: HTMLLimebbLimeQueryValueInputElement, ev: LimebbLimeQueryValueInputCustomEvent<HTMLLimebbLimeQueryValueInputElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2304
2993
  removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2305
2994
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2306
2995
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2307
2996
  }
2308
- var HTMLLimebbLimeQueryBuilderElement: {
2309
- prototype: HTMLLimebbLimeQueryBuilderElement;
2310
- new (): HTMLLimebbLimeQueryBuilderElement;
2997
+ var HTMLLimebbLimeQueryValueInputElement: {
2998
+ prototype: HTMLLimebbLimeQueryValueInputElement;
2999
+ new (): HTMLLimebbLimeQueryValueInputElement;
2311
3000
  };
2312
3001
  /**
2313
3002
  * Component for displaying the contents of an attached file on a limeobject
@@ -2323,6 +3012,38 @@ declare global {
2323
3012
  prototype: HTMLLimebbLimeobjectFileViewerElement;
2324
3013
  new (): HTMLLimebbLimeobjectFileViewerElement;
2325
3014
  };
3015
+ interface HTMLLimebbLimetypeFieldElementEventMap {
3016
+ "change": string;
3017
+ }
3018
+ /**
3019
+ * Limetype Field Component
3020
+ * A dropdown selector for choosing a limetype (object type) from the available
3021
+ * limetypes in the system.
3022
+ * This component:
3023
+ * - Displays all limetypes with their icons and localized names
3024
+ * - Supports restricting to a specific list of limetypes
3025
+ * - Can update dependent property-path fields when selection changes
3026
+ * - Implements the FormComponent interface for use in forms
3027
+ * Common use cases:
3028
+ * - Selecting which object type to query in a lime query builder
3029
+ * - Choosing target limetype for relations
3030
+ * - Configuring limetype-dependent settings
3031
+ * @private
3032
+ */
3033
+ interface HTMLLimebbLimetypeFieldElement extends Components.LimebbLimetypeField, HTMLStencilElement {
3034
+ addEventListener<K extends keyof HTMLLimebbLimetypeFieldElementEventMap>(type: K, listener: (this: HTMLLimebbLimetypeFieldElement, ev: LimebbLimetypeFieldCustomEvent<HTMLLimebbLimetypeFieldElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
3035
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3036
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3037
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3038
+ removeEventListener<K extends keyof HTMLLimebbLimetypeFieldElementEventMap>(type: K, listener: (this: HTMLLimebbLimetypeFieldElement, ev: LimebbLimetypeFieldCustomEvent<HTMLLimebbLimetypeFieldElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
3039
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3040
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3041
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
3042
+ }
3043
+ var HTMLLimebbLimetypeFieldElement: {
3044
+ prototype: HTMLLimebbLimetypeFieldElement;
3045
+ new (): HTMLLimebbLimetypeFieldElement;
3046
+ };
2326
3047
  /**
2327
3048
  * @private
2328
3049
  */
@@ -2506,6 +3227,92 @@ declare global {
2506
3227
  prototype: HTMLLimebbPercentageVisualizerElement;
2507
3228
  new (): HTMLLimebbPercentageVisualizerElement;
2508
3229
  };
3230
+ interface HTMLLimebbPropertySelectorElementEventMap {
3231
+ "change": string;
3232
+ }
3233
+ /**
3234
+ * Property Selector Component
3235
+ * A menu-based property selector that allows users to navigate through properties
3236
+ * and relations, only emitting complete property paths (not intermediate relations).
3237
+ * Similar to limec-context-expression but specifically for selecting properties
3238
+ * with dot-notation paths.
3239
+ * Features:
3240
+ * - Menu-based navigation through properties
3241
+ * - Submenu support for drilling into relations
3242
+ * - Internal state management during navigation
3243
+ * - Only emits complete paths (leaf properties)
3244
+ * - Chip-set display showing current path
3245
+ * @private
3246
+ */
3247
+ interface HTMLLimebbPropertySelectorElement extends Components.LimebbPropertySelector, HTMLStencilElement {
3248
+ addEventListener<K extends keyof HTMLLimebbPropertySelectorElementEventMap>(type: K, listener: (this: HTMLLimebbPropertySelectorElement, ev: LimebbPropertySelectorCustomEvent<HTMLLimebbPropertySelectorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
3249
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3250
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3251
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3252
+ removeEventListener<K extends keyof HTMLLimebbPropertySelectorElementEventMap>(type: K, listener: (this: HTMLLimebbPropertySelectorElement, ev: LimebbPropertySelectorCustomEvent<HTMLLimebbPropertySelectorElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
3253
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3254
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3255
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
3256
+ }
3257
+ var HTMLLimebbPropertySelectorElement: {
3258
+ prototype: HTMLLimebbPropertySelectorElement;
3259
+ new (): HTMLLimebbPropertySelectorElement;
3260
+ };
3261
+ interface HTMLLimebbResponseFormatEditorElementEventMap {
3262
+ "change": ResponseFormat;
3263
+ }
3264
+ /**
3265
+ * Response Format Editor Component
3266
+ * Allows users to select which properties should be returned in the query response.
3267
+ * Supports selecting properties on both the main limetype and related limetypes
3268
+ * through belongsto relations.
3269
+ * Features:
3270
+ * - **Property selection**: Choose properties using dropdown navigation
3271
+ * - **Nested properties**: Select properties on related objects (e.g., company.name)
3272
+ * - **Property aliases**: Optionally rename properties in the response
3273
+ * - **Dynamic list**: Add/remove property selections
3274
+ * - **Real-time updates**: Changes immediately update the responseFormat
3275
+ * The component generates a `ResponseFormat` object with the `object` field
3276
+ * containing the selected properties.
3277
+ * @private
3278
+ */
3279
+ interface HTMLLimebbResponseFormatEditorElement extends Components.LimebbResponseFormatEditor, HTMLStencilElement {
3280
+ addEventListener<K extends keyof HTMLLimebbResponseFormatEditorElementEventMap>(type: K, listener: (this: HTMLLimebbResponseFormatEditorElement, ev: LimebbResponseFormatEditorCustomEvent<HTMLLimebbResponseFormatEditorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
3281
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3282
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3283
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3284
+ removeEventListener<K extends keyof HTMLLimebbResponseFormatEditorElementEventMap>(type: K, listener: (this: HTMLLimebbResponseFormatEditorElement, ev: LimebbResponseFormatEditorCustomEvent<HTMLLimebbResponseFormatEditorElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
3285
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3286
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3287
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
3288
+ }
3289
+ var HTMLLimebbResponseFormatEditorElement: {
3290
+ prototype: HTMLLimebbResponseFormatEditorElement;
3291
+ new (): HTMLLimebbResponseFormatEditorElement;
3292
+ };
3293
+ interface HTMLLimebbResponseFormatItemElementEventMap {
3294
+ "itemChange": PropertySelectionItem | null;
3295
+ }
3296
+ /**
3297
+ * Response Format Property Item Component
3298
+ * Represents a single property selection with optional alias and description
3299
+ * Part of the response format editor
3300
+ * @private
3301
+ */
3302
+ interface HTMLLimebbResponseFormatItemElement extends Components.LimebbResponseFormatItem, HTMLStencilElement {
3303
+ addEventListener<K extends keyof HTMLLimebbResponseFormatItemElementEventMap>(type: K, listener: (this: HTMLLimebbResponseFormatItemElement, ev: LimebbResponseFormatItemCustomEvent<HTMLLimebbResponseFormatItemElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
3304
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3305
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3306
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3307
+ removeEventListener<K extends keyof HTMLLimebbResponseFormatItemElementEventMap>(type: K, listener: (this: HTMLLimebbResponseFormatItemElement, ev: LimebbResponseFormatItemCustomEvent<HTMLLimebbResponseFormatItemElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
3308
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3309
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3310
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
3311
+ }
3312
+ var HTMLLimebbResponseFormatItemElement: {
3313
+ prototype: HTMLLimebbResponseFormatItemElement;
3314
+ new (): HTMLLimebbResponseFormatItemElement;
3315
+ };
2509
3316
  interface HTMLLimebbSummaryPopoverElementEventMap {
2510
3317
  "actionSelected": ActionBarItem;
2511
3318
  }
@@ -2693,7 +3500,14 @@ declare global {
2693
3500
  "limebb-kanban-group": HTMLLimebbKanbanGroupElement;
2694
3501
  "limebb-kanban-item": HTMLLimebbKanbanItemElement;
2695
3502
  "limebb-lime-query-builder": HTMLLimebbLimeQueryBuilderElement;
3503
+ "limebb-lime-query-filter-and": HTMLLimebbLimeQueryFilterAndElement;
3504
+ "limebb-lime-query-filter-comparison": HTMLLimebbLimeQueryFilterComparisonElement;
3505
+ "limebb-lime-query-filter-expression": HTMLLimebbLimeQueryFilterExpressionElement;
3506
+ "limebb-lime-query-filter-not": HTMLLimebbLimeQueryFilterNotElement;
3507
+ "limebb-lime-query-filter-or": HTMLLimebbLimeQueryFilterOrElement;
3508
+ "limebb-lime-query-value-input": HTMLLimebbLimeQueryValueInputElement;
2696
3509
  "limebb-limeobject-file-viewer": HTMLLimebbLimeobjectFileViewerElement;
3510
+ "limebb-limetype-field": HTMLLimebbLimetypeFieldElement;
2697
3511
  "limebb-live-docs-info": HTMLLimebbLiveDocsInfoElement;
2698
3512
  "limebb-loader": HTMLLimebbLoaderElement;
2699
3513
  "limebb-locale-picker": HTMLLimebbLocalePickerElement;
@@ -2703,6 +3517,9 @@ declare global {
2703
3517
  "limebb-notification-item": HTMLLimebbNotificationItemElement;
2704
3518
  "limebb-notification-list": HTMLLimebbNotificationListElement;
2705
3519
  "limebb-percentage-visualizer": HTMLLimebbPercentageVisualizerElement;
3520
+ "limebb-property-selector": HTMLLimebbPropertySelectorElement;
3521
+ "limebb-response-format-editor": HTMLLimebbResponseFormatEditorElement;
3522
+ "limebb-response-format-item": HTMLLimebbResponseFormatItemElement;
2706
3523
  "limebb-summary-popover": HTMLLimebbSummaryPopoverElement;
2707
3524
  "limebb-text-editor": HTMLLimebbTextEditorElement;
2708
3525
  "limebb-text-editor-picker": HTMLLimebbTextEditorPickerElement;
@@ -3617,130 +4434,419 @@ declare namespace LocalJSX {
3617
4434
  */
3618
4435
  "context"?: LimeWebComponentContext;
3619
4436
  /**
3620
- * List of groups to display in the kanban board. Each group contains a list of items belonging to that group.
4437
+ * List of groups to display in the kanban board. Each group contains a list of items belonging to that group.
4438
+ */
4439
+ "groups"?: KanbanGroup[];
4440
+ /**
4441
+ * Emitted when an item is interacted with
4442
+ */
4443
+ "onInteract"?: (event: LimebbKanbanCustomEvent<KanbanItem>) => void;
4444
+ /**
4445
+ * Emitted when the load more button is clicked
4446
+ */
4447
+ "onLoadMore"?: (event: LimebbKanbanCustomEvent<KanbanGroup>) => void;
4448
+ /**
4449
+ * Reference to the platform
4450
+ * @inheritdoc
4451
+ */
4452
+ "platform": LimeWebComponentPlatform;
4453
+ }
4454
+ /**
4455
+ * This component generates the groups for `limebb-kanban`.
4456
+ * @private
4457
+ */
4458
+ interface LimebbKanbanGroup {
4459
+ /**
4460
+ * The context this component belongs to
4461
+ * @inheritdoc
4462
+ */
4463
+ "context"?: LimeWebComponentContext;
4464
+ /**
4465
+ * The title of the group, which is taken from the `groupBy` property of the `limebb-kanban` component.
4466
+ */
4467
+ "heading"?: string;
4468
+ /**
4469
+ * Description of the group
4470
+ */
4471
+ "help"?: string;
4472
+ /**
4473
+ * A unique identifier for the group.
4474
+ */
4475
+ "identifier"?: string;
4476
+ /**
4477
+ * List of items to display in the group.
4478
+ */
4479
+ "items"?: KanbanItem[];
4480
+ /**
4481
+ * True if items have not finished loading.
4482
+ */
4483
+ "loading"?: boolean;
4484
+ /**
4485
+ * Emitted when the load more button is clicked
4486
+ */
4487
+ "onLoadMore"?: (event: LimebbKanbanGroupCustomEvent<KanbanGroup['identifier']>) => void;
4488
+ /**
4489
+ * Reference to the platform
4490
+ * @inheritdoc
4491
+ */
4492
+ "platform": LimeWebComponentPlatform;
4493
+ /**
4494
+ * The summary of the group.
4495
+ */
4496
+ "summary"?: string;
4497
+ /**
4498
+ * Total number of items available for the group. This is used to determine if the "load more" button should be displayed.
4499
+ */
4500
+ "totalCount"?: number;
4501
+ }
4502
+ /**
4503
+ * Feed item
4504
+ * @private
4505
+ */
4506
+ interface LimebbKanbanItem {
4507
+ /**
4508
+ * The context this component belongs to
4509
+ * @inheritdoc
4510
+ */
4511
+ "context"?: LimeWebComponentContext;
4512
+ /**
4513
+ * The item to display in the Kanban group.
4514
+ */
4515
+ "item"?: KanbanItem;
4516
+ /**
4517
+ * Fired when clicking on the Kanban item.
4518
+ */
4519
+ "onInteract"?: (event: LimebbKanbanItemCustomEvent<KanbanItem>) => void;
4520
+ /**
4521
+ * Reference to the platform
4522
+ * @inheritdoc
4523
+ */
4524
+ "platform": LimeWebComponentPlatform;
4525
+ }
4526
+ /**
4527
+ * Lime Query Builder Component
4528
+ * A comprehensive query builder for constructing Lime Query DSL queries.
4529
+ * This is the main component that combines limetype selection with the filter builder.
4530
+ * Features:
4531
+ * - **Limetype selection**: Choose which object type to query
4532
+ * - **Filter builder**: Build complex filters with AND/OR/NOT logic
4533
+ * - **Property path selection**: Navigate through relations
4534
+ * - **Type-aware inputs**: Automatic input types based on property type
4535
+ * - **Response format**: Select which properties to return
4536
+ * - **Query options**: Configure limit and other query parameters
4537
+ * - **Placeholder support**: Use `%activeObject%` placeholders in filter values
4538
+ * - **Real-time output**: See the Lime Query JSON as you build
4539
+ * The component produces a complete `LimeQuery` object that can be sent
4540
+ * directly to the Lime CRM backend.
4541
+ * **Active Object Placeholders**:
4542
+ * When the `activeLimetype` prop is provided, the component enables validation
4543
+ * and UI support for `%activeObject%` placeholders in filter expressions.
4544
+ * These placeholders reference properties of a contextual "active object"
4545
+ * (e.g., `%activeObject%.company` references the company of the active object).
4546
+ * @exampleComponent limebb-example-lime-query-builder-basic
4547
+ * @private
4548
+ */
4549
+ interface LimebbLimeQueryBuilder {
4550
+ /**
4551
+ * The limetype of the active object (for %activeObject% placeholder validation). When provided, enables placeholder validation and the placeholder input mode. When omitted, placeholders are accepted without validation.
4552
+ */
4553
+ "activeLimetype"?: string;
4554
+ /**
4555
+ * Component context
4556
+ */
4557
+ "context"?: LimeWebComponentContext;
4558
+ /**
4559
+ * Optional label for the Lime Query builder
4560
+ */
4561
+ "label"?: string;
4562
+ /**
4563
+ * Emitted when the Lime Query changes
4564
+ */
4565
+ "onChange"?: (event: LimebbLimeQueryBuilderCustomEvent<LimeQuery>) => void;
4566
+ /**
4567
+ * Platform service provider
4568
+ */
4569
+ "platform"?: LimeWebComponentPlatform;
4570
+ /**
4571
+ * The complete Lime Query object
4572
+ */
4573
+ "value"?: LimeQuery;
4574
+ }
4575
+ /**
4576
+ * Lime Query Filter AND Component
4577
+ * Renders a group of filter expressions where **all conditions must be true**.
4578
+ * Users can add multiple child expressions, and a record must match all of them
4579
+ * to be included in the result set.
4580
+ * This component displays:
4581
+ * - A header with "All of these conditions are true" when there are multiple conditions
4582
+ * - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
4583
+ * - An "Add another condition" button to add more expressions
4584
+ * Clicking the trash icon on a child expression removes it from the AND group.
4585
+ * @private
4586
+ */
4587
+ interface LimebbLimeQueryFilterAnd {
4588
+ /**
4589
+ * The limetype of the active object (for %activeObject% placeholders)
4590
+ */
4591
+ "activeLimetype"?: string;
4592
+ /**
4593
+ * Component context
4594
+ */
4595
+ "context"?: LimeWebComponentContext;
4596
+ /**
4597
+ * The AND expression containing child expressions
4598
+ */
4599
+ "expression"?: LimeQueryFilterAnd;
4600
+ /**
4601
+ * Optional label for the AND group
4602
+ */
4603
+ "label"?: string;
4604
+ /**
4605
+ * The limetype being queried (e.g., "deal", "company")
4606
+ */
4607
+ "limetype"?: string;
4608
+ /**
4609
+ * Emitted when the AND expression changes (expressions added/removed/modified)
4610
+ */
4611
+ "onExpressionChange"?: (event: LimebbLimeQueryFilterAndCustomEvent<LimeQueryFilterAnd | LimeQueryFilterMissing>) => void;
4612
+ /**
4613
+ * Platform service provider
4614
+ */
4615
+ "platform"?: LimeWebComponentPlatform;
4616
+ }
4617
+ /**
4618
+ * Lime Query Filter Comparison Component
4619
+ * Renders a single comparison expression with three parts:
4620
+ * 1. **Property** - The field to compare (e.g., "dealstatus", "company.name")
4621
+ * 2. **Operator** - The comparison operator (=, !=, >, <, >=, <=, IN, ?, =?, =$)
4622
+ * 3. **Value** - The value to compare against
4623
+ * This is the most basic building block of a filter. Examples:
4624
+ * - dealstatus = "won"
4625
+ * - value > 100000
4626
+ * - name ? "Big" (contains "Big")
4627
+ * - dealstatus IN ["won", "tender"]
4628
+ * The component displays:
4629
+ * - A text input for the property (Phase 0 - will be replaced with property-path in Phase 1)
4630
+ * - A dropdown for the operator
4631
+ * - A value input (text/number based on operator)
4632
+ * - A trash icon button to remove this condition
4633
+ * @private
4634
+ */
4635
+ interface LimebbLimeQueryFilterComparison {
4636
+ /**
4637
+ * The limetype of the active object (for %activeObject% placeholders)
4638
+ */
4639
+ "activeLimetype"?: string;
4640
+ /**
4641
+ * Component context
4642
+ */
4643
+ "context"?: LimeWebComponentContext;
4644
+ /**
4645
+ * The comparison expression to render
4646
+ */
4647
+ "expression"?: LimeQueryFilterComparison;
4648
+ /**
4649
+ * Optional label for the comparison
4650
+ */
4651
+ "label"?: string;
4652
+ /**
4653
+ * The limetype being queried (e.g., "deal", "company")
4654
+ */
4655
+ "limetype"?: string;
4656
+ /**
4657
+ * Emitted when the comparison expression changes (property/operator/value modified)
4658
+ */
4659
+ "onExpressionChange"?: (event: LimebbLimeQueryFilterComparisonCustomEvent<LimeQueryFilterComparison | LimeQueryFilterMissing>) => void;
4660
+ /**
4661
+ * Platform service provider
4662
+ */
4663
+ "platform"?: LimeWebComponentPlatform;
4664
+ }
4665
+ /**
4666
+ * Lime Query Filter Expression Router
4667
+ * This is the main entry point for rendering Lime Query filters.
4668
+ * It routes to the appropriate sub-component based on the filter type:
4669
+ * - `'AND'` → limebb-lime-query-filter-and
4670
+ * - `'OR'` → limebb-lime-query-filter-or
4671
+ * - `'NOT'` → limebb-lime-query-filter-not
4672
+ * - `'comparison'` → limebb-lime-query-filter-comparison
4673
+ * - `''` (missing) → limebb-lime-query-filter-comparison (default)
4674
+ * Use this component when you need to render a complete filter expression
4675
+ * that may contain nested AND/OR/NOT logic.
4676
+ * @private
4677
+ */
4678
+ interface LimebbLimeQueryFilterExpression {
4679
+ /**
4680
+ * The limetype of the active object (for %activeObject% placeholders) Optional - used for validation and property suggestions
4681
+ */
4682
+ "activeLimetype"?: string;
4683
+ /**
4684
+ * Component context
4685
+ */
4686
+ "context"?: LimeWebComponentContext;
4687
+ /**
4688
+ * The filter expression to render
3621
4689
  */
3622
- "groups"?: KanbanGroup[];
4690
+ "expression"?: LimeQueryFilterExpression;
3623
4691
  /**
3624
- * Emitted when an item is interacted with
4692
+ * Optional label for the expression
3625
4693
  */
3626
- "onInteract"?: (event: LimebbKanbanCustomEvent<KanbanItem>) => void;
4694
+ "label"?: string;
3627
4695
  /**
3628
- * Emitted when the load more button is clicked
4696
+ * The limetype being queried (e.g., "deal", "company") Used for property validation and type-aware inputs
3629
4697
  */
3630
- "onLoadMore"?: (event: LimebbKanbanCustomEvent<KanbanGroup>) => void;
4698
+ "limetype"?: string;
3631
4699
  /**
3632
- * Reference to the platform
3633
- * @inheritdoc
4700
+ * Emitted when the filter expression changes
3634
4701
  */
3635
- "platform": LimeWebComponentPlatform;
4702
+ "onExpressionChange"?: (event: LimebbLimeQueryFilterExpressionCustomEvent<LimeQueryFilterExpression>) => void;
4703
+ /**
4704
+ * Platform service provider
4705
+ */
4706
+ "platform"?: LimeWebComponentPlatform;
3636
4707
  }
3637
4708
  /**
3638
- * This component generates the groups for `limebb-kanban`.
4709
+ * Lime Query Filter NOT Component
4710
+ * Renders a negated filter expression. This inverts the logic of the child expression,
4711
+ * so records that would normally match will be excluded, and vice versa.
4712
+ * For example:
4713
+ * - NOT (status = "won") → Include all records where status is NOT "won"
4714
+ * - NOT (value > 100000) → Include all records where value is NOT greater than 100000
4715
+ * This component displays:
4716
+ * - A "Not" label
4717
+ * - A single child expression (which can be a comparison or nested AND/OR group)
4718
+ * Clicking the trash icon removes the entire NOT expression.
3639
4719
  * @private
3640
4720
  */
3641
- interface LimebbKanbanGroup {
4721
+ interface LimebbLimeQueryFilterNot {
3642
4722
  /**
3643
- * The context this component belongs to
3644
- * @inheritdoc
4723
+ * The limetype of the active object (for %activeObject% placeholders)
3645
4724
  */
3646
- "context"?: LimeWebComponentContext;
4725
+ "activeLimetype"?: string;
3647
4726
  /**
3648
- * The title of the group, which is taken from the `groupBy` property of the `limebb-kanban` component.
4727
+ * Component context
3649
4728
  */
3650
- "heading"?: string;
4729
+ "context"?: LimeWebComponentContext;
3651
4730
  /**
3652
- * Description of the group
4731
+ * The NOT expression containing the child expression to negate
3653
4732
  */
3654
- "help"?: string;
4733
+ "expression"?: LimeQueryFilterNot;
3655
4734
  /**
3656
- * A unique identifier for the group.
4735
+ * Optional label for the NOT expression
3657
4736
  */
3658
- "identifier"?: string;
4737
+ "label"?: string;
3659
4738
  /**
3660
- * List of items to display in the group.
4739
+ * The limetype being queried (e.g., "deal", "company")
3661
4740
  */
3662
- "items"?: KanbanItem[];
4741
+ "limetype"?: string;
3663
4742
  /**
3664
- * True if items have not finished loading.
4743
+ * Emitted when the NOT expression changes (child expression modified or removed)
3665
4744
  */
3666
- "loading"?: boolean;
4745
+ "onExpressionChange"?: (event: LimebbLimeQueryFilterNotCustomEvent<LimeQueryFilterNot | LimeQueryFilterMissing>) => void;
3667
4746
  /**
3668
- * Emitted when the load more button is clicked
4747
+ * Platform service provider
3669
4748
  */
3670
- "onLoadMore"?: (event: LimebbKanbanGroupCustomEvent<KanbanGroup['identifier']>) => void;
4749
+ "platform"?: LimeWebComponentPlatform;
4750
+ }
4751
+ /**
4752
+ * Lime Query Filter OR Component
4753
+ * Renders a group of filter expressions where **at least one condition must be true**.
4754
+ * Users can add multiple alternative expressions, and a record only needs to match
4755
+ * one of them to be included in the result set.
4756
+ * This component displays:
4757
+ * - A header with "Any of these conditions is true" when there are multiple conditions
4758
+ * - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
4759
+ * - An "Add alternative" button to add more options
4760
+ * Clicking the trash icon on a child expression removes it from the OR group.
4761
+ * @private
4762
+ */
4763
+ interface LimebbLimeQueryFilterOr {
3671
4764
  /**
3672
- * Reference to the platform
3673
- * @inheritdoc
4765
+ * The limetype of the active object (for %activeObject% placeholders)
3674
4766
  */
3675
- "platform": LimeWebComponentPlatform;
4767
+ "activeLimetype"?: string;
3676
4768
  /**
3677
- * The summary of the group.
4769
+ * Component context
3678
4770
  */
3679
- "summary"?: string;
4771
+ "context"?: LimeWebComponentContext;
3680
4772
  /**
3681
- * Total number of items available for the group. This is used to determine if the "load more" button should be displayed.
4773
+ * The OR expression containing child expressions
3682
4774
  */
3683
- "totalCount"?: number;
3684
- }
3685
- /**
3686
- * Feed item
3687
- * @private
3688
- */
3689
- interface LimebbKanbanItem {
4775
+ "expression"?: LimeQueryFilterOr;
3690
4776
  /**
3691
- * The context this component belongs to
3692
- * @inheritdoc
4777
+ * Optional label for the OR group
3693
4778
  */
3694
- "context"?: LimeWebComponentContext;
4779
+ "label"?: string;
3695
4780
  /**
3696
- * The item to display in the Kanban group.
4781
+ * The limetype being queried (e.g., "deal", "company")
3697
4782
  */
3698
- "item"?: KanbanItem;
4783
+ "limetype"?: string;
3699
4784
  /**
3700
- * Fired when clicking on the Kanban item.
4785
+ * Emitted when the OR expression changes (expressions added/removed/modified)
3701
4786
  */
3702
- "onInteract"?: (event: LimebbKanbanItemCustomEvent<KanbanItem>) => void;
4787
+ "onExpressionChange"?: (event: LimebbLimeQueryFilterOrCustomEvent<LimeQueryFilterOr | LimeQueryFilterMissing>) => void;
3703
4788
  /**
3704
- * Reference to the platform
3705
- * @inheritdoc
4789
+ * Platform service provider
3706
4790
  */
3707
- "platform": LimeWebComponentPlatform;
4791
+ "platform"?: LimeWebComponentPlatform;
3708
4792
  }
3709
4793
  /**
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
4794
+ * Query Value Input Component
4795
+ * Renders an appropriate input control based on the property type and operator.
4796
+ * This component automatically adapts its UI to match the data type of the selected
4797
+ * property, providing a better user experience and data validation.
4798
+ * Supported input types:
4799
+ * - **String/Text**: Standard text input field
4800
+ * - **Integer/Decimal**: Number input with appropriate step values
4801
+ * - **Date**: Date picker returning ISO date strings
4802
+ * - **Time**: Time input field
4803
+ * - **Boolean (yesno)**: True/False dropdown
4804
+ * - **Option**: Dropdown populated with valid options from property definition
4805
+ * - **IN operator**: Comma-separated input for multiple values (any type)
4806
+ * - **Placeholder mode**: Select properties from active object using %activeObject%
4807
+ * The component handles type conversions automatically:
4808
+ * - Numbers are parsed from string inputs
4809
+ * - Dates are converted to/from ISO strings
4810
+ * - Booleans are converted to/from strings for dropdown compatibility
3721
4811
  * @private
3722
4812
  */
3723
- interface LimebbLimeQueryBuilder {
4813
+ interface LimebbLimeQueryValueInput {
4814
+ /**
4815
+ * The limetype of the active object (for %activeObject% placeholders)
4816
+ */
4817
+ "activeLimetype"?: string;
3724
4818
  /**
3725
4819
  * Component context
3726
4820
  */
3727
4821
  "context"?: LimeWebComponentContext;
3728
4822
  /**
3729
- * Optional label for the Lime Query builder
4823
+ * Optional label for the input
3730
4824
  */
3731
4825
  "label"?: string;
3732
4826
  /**
3733
- * Emitted when the Lime Query changes
4827
+ * The limetype being queried
3734
4828
  */
3735
- "onChange"?: (event: LimebbLimeQueryBuilderCustomEvent<LimeQuery>) => void;
4829
+ "limetype"?: string;
4830
+ /**
4831
+ * Emitted when the value changes
4832
+ */
4833
+ "onChange"?: (event: LimebbLimeQueryValueInputCustomEvent<any>) => void;
4834
+ /**
4835
+ * The operator being used
4836
+ */
4837
+ "operator"?: FilterOperator;
3736
4838
  /**
3737
4839
  * Platform service provider
3738
4840
  */
3739
4841
  "platform"?: LimeWebComponentPlatform;
3740
4842
  /**
3741
- * The complete Lime Query object
4843
+ * The property path (e.g., "dealstatus", "company.name")
3742
4844
  */
3743
- "value"?: LimeQuery;
4845
+ "propertyPath"?: string;
4846
+ /**
4847
+ * The current value
4848
+ */
4849
+ "value"?: any;
3744
4850
  }
3745
4851
  /**
3746
4852
  * Component for displaying the contents of an attached file on a limeobject
@@ -3768,6 +4874,89 @@ declare namespace LocalJSX {
3768
4874
  */
3769
4875
  "property"?: string;
3770
4876
  }
4877
+ /**
4878
+ * Limetype Field Component
4879
+ * A dropdown selector for choosing a limetype (object type) from the available
4880
+ * limetypes in the system.
4881
+ * This component:
4882
+ * - Displays all limetypes with their icons and localized names
4883
+ * - Supports restricting to a specific list of limetypes
4884
+ * - Can update dependent property-path fields when selection changes
4885
+ * - Implements the FormComponent interface for use in forms
4886
+ * Common use cases:
4887
+ * - Selecting which object type to query in a lime query builder
4888
+ * - Choosing target limetype for relations
4889
+ * - Configuring limetype-dependent settings
4890
+ * @private
4891
+ */
4892
+ interface LimebbLimetypeField {
4893
+ /**
4894
+ * The context this component belongs to
4895
+ * @inheritdoc
4896
+ */
4897
+ "context"?: LimeWebComponentContext;
4898
+ /**
4899
+ * Whether or not the current property is disabled
4900
+ * @inheritdoc
4901
+ */
4902
+ "disabled"?: boolean;
4903
+ /**
4904
+ * The name of this field. May be used as reference when a property mapping depends on the selected limetype.
4905
+ */
4906
+ "fieldName"?: string;
4907
+ /**
4908
+ * Additional contextual information about the form
4909
+ * @inheritdoc
4910
+ */
4911
+ "formInfo"?: FormInfo;
4912
+ /**
4913
+ * The helper text for the current property
4914
+ * @inheritdoc
4915
+ */
4916
+ "helperText"?: string;
4917
+ /**
4918
+ * @inheritdoc
4919
+ */
4920
+ "invalid"?: boolean;
4921
+ /**
4922
+ * The label of the current property
4923
+ * @inheritdoc
4924
+ */
4925
+ "label"?: string;
4926
+ /**
4927
+ * The limetypes to choose from
4928
+ */
4929
+ "limetypes"?: string[];
4930
+ /**
4931
+ * The event to emit when the value of the current property has changed
4932
+ * @inheritdoc
4933
+ */
4934
+ "onChange"?: (event: LimebbLimetypeFieldCustomEvent<string>) => void;
4935
+ /**
4936
+ * Reference to the platform
4937
+ * @inheritdoc
4938
+ */
4939
+ "platform"?: LimeWebComponentPlatform;
4940
+ /**
4941
+ * A list of property fields that should be updated when the selected limetype changes.
4942
+ */
4943
+ "propertyFields"?: DependentPropertyField[];
4944
+ /**
4945
+ * Whether or not the current property is readonly
4946
+ * @inheritdoc
4947
+ */
4948
+ "readonly"?: boolean;
4949
+ /**
4950
+ * Whether or not the current property is required
4951
+ * @inheritdoc
4952
+ */
4953
+ "required"?: boolean;
4954
+ /**
4955
+ * The value of the current property
4956
+ * @inheritdoc
4957
+ */
4958
+ "value"?: string;
4959
+ }
3771
4960
  /**
3772
4961
  * @private
3773
4962
  */
@@ -4064,6 +5253,123 @@ declare namespace LocalJSX {
4064
5253
  */
4065
5254
  "value"?: number | string;
4066
5255
  }
5256
+ /**
5257
+ * Property Selector Component
5258
+ * A menu-based property selector that allows users to navigate through properties
5259
+ * and relations, only emitting complete property paths (not intermediate relations).
5260
+ * Similar to limec-context-expression but specifically for selecting properties
5261
+ * with dot-notation paths.
5262
+ * Features:
5263
+ * - Menu-based navigation through properties
5264
+ * - Submenu support for drilling into relations
5265
+ * - Internal state management during navigation
5266
+ * - Only emits complete paths (leaf properties)
5267
+ * - Chip-set display showing current path
5268
+ * @private
5269
+ */
5270
+ interface LimebbPropertySelector {
5271
+ /**
5272
+ * Component context
5273
+ */
5274
+ "context"?: LimeWebComponentContext;
5275
+ /**
5276
+ * Helper text to display
5277
+ */
5278
+ "helperText"?: string;
5279
+ /**
5280
+ * Label for the input
5281
+ */
5282
+ "label"?: string;
5283
+ /**
5284
+ * The limetype to select properties from
5285
+ */
5286
+ "limetype"?: string;
5287
+ /**
5288
+ * Emitted when a complete property path is selected
5289
+ */
5290
+ "onChange"?: (event: LimebbPropertySelectorCustomEvent<string>) => void;
5291
+ /**
5292
+ * Platform service provider
5293
+ */
5294
+ "platform"?: LimeWebComponentPlatform;
5295
+ /**
5296
+ * Whether the field is required
5297
+ */
5298
+ "required"?: boolean;
5299
+ /**
5300
+ * Current complete property path value
5301
+ */
5302
+ "value"?: string;
5303
+ }
5304
+ /**
5305
+ * Response Format Editor Component
5306
+ * Allows users to select which properties should be returned in the query response.
5307
+ * Supports selecting properties on both the main limetype and related limetypes
5308
+ * through belongsto relations.
5309
+ * Features:
5310
+ * - **Property selection**: Choose properties using dropdown navigation
5311
+ * - **Nested properties**: Select properties on related objects (e.g., company.name)
5312
+ * - **Property aliases**: Optionally rename properties in the response
5313
+ * - **Dynamic list**: Add/remove property selections
5314
+ * - **Real-time updates**: Changes immediately update the responseFormat
5315
+ * The component generates a `ResponseFormat` object with the `object` field
5316
+ * containing the selected properties.
5317
+ * @private
5318
+ */
5319
+ interface LimebbResponseFormatEditor {
5320
+ /**
5321
+ * Component context
5322
+ */
5323
+ "context"?: LimeWebComponentContext;
5324
+ /**
5325
+ * Optional label
5326
+ */
5327
+ "label"?: string;
5328
+ /**
5329
+ * The limetype to select properties from
5330
+ */
5331
+ "limetype"?: string;
5332
+ /**
5333
+ * Emitted when the response format changes
5334
+ */
5335
+ "onChange"?: (event: LimebbResponseFormatEditorCustomEvent<ResponseFormat>) => void;
5336
+ /**
5337
+ * Platform service provider
5338
+ */
5339
+ "platform"?: LimeWebComponentPlatform;
5340
+ /**
5341
+ * Current response format
5342
+ */
5343
+ "value"?: ResponseFormat;
5344
+ }
5345
+ /**
5346
+ * Response Format Property Item Component
5347
+ * Represents a single property selection with optional alias and description
5348
+ * Part of the response format editor
5349
+ * @private
5350
+ */
5351
+ interface LimebbResponseFormatItem {
5352
+ /**
5353
+ * Component context
5354
+ */
5355
+ "context"?: LimeWebComponentContext;
5356
+ /**
5357
+ * The property selection item
5358
+ */
5359
+ "item"?: PropertySelectionItem;
5360
+ /**
5361
+ * The limetype to select properties from
5362
+ */
5363
+ "limetype"?: string;
5364
+ /**
5365
+ * Emitted when the item changes
5366
+ */
5367
+ "onItemChange"?: (event: LimebbResponseFormatItemCustomEvent<PropertySelectionItem | null>) => void;
5368
+ /**
5369
+ * Platform service provider
5370
+ */
5371
+ "platform"?: LimeWebComponentPlatform;
5372
+ }
4067
5373
  /**
4068
5374
  * This component uses
4069
5375
  * [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)
@@ -4383,7 +5689,14 @@ declare namespace LocalJSX {
4383
5689
  "limebb-kanban-group": LimebbKanbanGroup;
4384
5690
  "limebb-kanban-item": LimebbKanbanItem;
4385
5691
  "limebb-lime-query-builder": LimebbLimeQueryBuilder;
5692
+ "limebb-lime-query-filter-and": LimebbLimeQueryFilterAnd;
5693
+ "limebb-lime-query-filter-comparison": LimebbLimeQueryFilterComparison;
5694
+ "limebb-lime-query-filter-expression": LimebbLimeQueryFilterExpression;
5695
+ "limebb-lime-query-filter-not": LimebbLimeQueryFilterNot;
5696
+ "limebb-lime-query-filter-or": LimebbLimeQueryFilterOr;
5697
+ "limebb-lime-query-value-input": LimebbLimeQueryValueInput;
4386
5698
  "limebb-limeobject-file-viewer": LimebbLimeobjectFileViewer;
5699
+ "limebb-limetype-field": LimebbLimetypeField;
4387
5700
  "limebb-live-docs-info": LimebbLiveDocsInfo;
4388
5701
  "limebb-loader": LimebbLoader;
4389
5702
  "limebb-locale-picker": LimebbLocalePicker;
@@ -4393,6 +5706,9 @@ declare namespace LocalJSX {
4393
5706
  "limebb-notification-item": LimebbNotificationItem;
4394
5707
  "limebb-notification-list": LimebbNotificationList;
4395
5708
  "limebb-percentage-visualizer": LimebbPercentageVisualizer;
5709
+ "limebb-property-selector": LimebbPropertySelector;
5710
+ "limebb-response-format-editor": LimebbResponseFormatEditor;
5711
+ "limebb-response-format-item": LimebbResponseFormatItem;
4396
5712
  "limebb-summary-popover": LimebbSummaryPopover;
4397
5713
  "limebb-text-editor": LimebbTextEditor;
4398
5714
  "limebb-text-editor-picker": LimebbTextEditorPicker;
@@ -4675,19 +5991,122 @@ declare module "@stencil/core" {
4675
5991
  "limebb-kanban-item": LocalJSX.LimebbKanbanItem & JSXBase.HTMLAttributes<HTMLLimebbKanbanItemElement>;
4676
5992
  /**
4677
5993
  * Lime Query Builder Component
4678
- * A code editor for constructing Lime Query DSL queries in JSON format.
5994
+ * A comprehensive query builder for constructing Lime Query DSL queries.
5995
+ * This is the main component that combines limetype selection with the filter builder.
4679
5996
  * 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
5997
+ * - **Limetype selection**: Choose which object type to query
5998
+ * - **Filter builder**: Build complex filters with AND/OR/NOT logic
5999
+ * - **Property path selection**: Navigate through relations
6000
+ * - **Type-aware inputs**: Automatic input types based on property type
6001
+ * - **Response format**: Select which properties to return
6002
+ * - **Query options**: Configure limit and other query parameters
6003
+ * - **Placeholder support**: Use `%activeObject%` placeholders in filter values
6004
+ * - **Real-time output**: See the Lime Query JSON as you build
6005
+ * The component produces a complete `LimeQuery` object that can be sent
4684
6006
  * 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.
6007
+ * **Active Object Placeholders**:
6008
+ * When the `activeLimetype` prop is provided, the component enables validation
6009
+ * and UI support for `%activeObject%` placeholders in filter expressions.
6010
+ * These placeholders reference properties of a contextual "active object"
6011
+ * (e.g., `%activeObject%.company` references the company of the active object).
4687
6012
  * @exampleComponent limebb-example-lime-query-builder-basic
4688
6013
  * @private
4689
6014
  */
4690
6015
  "limebb-lime-query-builder": LocalJSX.LimebbLimeQueryBuilder & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryBuilderElement>;
6016
+ /**
6017
+ * Lime Query Filter AND Component
6018
+ * Renders a group of filter expressions where **all conditions must be true**.
6019
+ * Users can add multiple child expressions, and a record must match all of them
6020
+ * to be included in the result set.
6021
+ * This component displays:
6022
+ * - A header with "All of these conditions are true" when there are multiple conditions
6023
+ * - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
6024
+ * - An "Add another condition" button to add more expressions
6025
+ * Clicking the trash icon on a child expression removes it from the AND group.
6026
+ * @private
6027
+ */
6028
+ "limebb-lime-query-filter-and": LocalJSX.LimebbLimeQueryFilterAnd & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterAndElement>;
6029
+ /**
6030
+ * Lime Query Filter Comparison Component
6031
+ * Renders a single comparison expression with three parts:
6032
+ * 1. **Property** - The field to compare (e.g., "dealstatus", "company.name")
6033
+ * 2. **Operator** - The comparison operator (=, !=, >, <, >=, <=, IN, ?, =?, =$)
6034
+ * 3. **Value** - The value to compare against
6035
+ * This is the most basic building block of a filter. Examples:
6036
+ * - dealstatus = "won"
6037
+ * - value > 100000
6038
+ * - name ? "Big" (contains "Big")
6039
+ * - dealstatus IN ["won", "tender"]
6040
+ * The component displays:
6041
+ * - A text input for the property (Phase 0 - will be replaced with property-path in Phase 1)
6042
+ * - A dropdown for the operator
6043
+ * - A value input (text/number based on operator)
6044
+ * - A trash icon button to remove this condition
6045
+ * @private
6046
+ */
6047
+ "limebb-lime-query-filter-comparison": LocalJSX.LimebbLimeQueryFilterComparison & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterComparisonElement>;
6048
+ /**
6049
+ * Lime Query Filter Expression Router
6050
+ * This is the main entry point for rendering Lime Query filters.
6051
+ * It routes to the appropriate sub-component based on the filter type:
6052
+ * - `'AND'` → limebb-lime-query-filter-and
6053
+ * - `'OR'` → limebb-lime-query-filter-or
6054
+ * - `'NOT'` → limebb-lime-query-filter-not
6055
+ * - `'comparison'` → limebb-lime-query-filter-comparison
6056
+ * - `''` (missing) → limebb-lime-query-filter-comparison (default)
6057
+ * Use this component when you need to render a complete filter expression
6058
+ * that may contain nested AND/OR/NOT logic.
6059
+ * @private
6060
+ */
6061
+ "limebb-lime-query-filter-expression": LocalJSX.LimebbLimeQueryFilterExpression & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterExpressionElement>;
6062
+ /**
6063
+ * Lime Query Filter NOT Component
6064
+ * Renders a negated filter expression. This inverts the logic of the child expression,
6065
+ * so records that would normally match will be excluded, and vice versa.
6066
+ * For example:
6067
+ * - NOT (status = "won") → Include all records where status is NOT "won"
6068
+ * - NOT (value > 100000) → Include all records where value is NOT greater than 100000
6069
+ * This component displays:
6070
+ * - A "Not" label
6071
+ * - A single child expression (which can be a comparison or nested AND/OR group)
6072
+ * Clicking the trash icon removes the entire NOT expression.
6073
+ * @private
6074
+ */
6075
+ "limebb-lime-query-filter-not": LocalJSX.LimebbLimeQueryFilterNot & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterNotElement>;
6076
+ /**
6077
+ * Lime Query Filter OR Component
6078
+ * Renders a group of filter expressions where **at least one condition must be true**.
6079
+ * Users can add multiple alternative expressions, and a record only needs to match
6080
+ * one of them to be included in the result set.
6081
+ * This component displays:
6082
+ * - A header with "Any of these conditions is true" when there are multiple conditions
6083
+ * - A list of child expressions (which can be comparisons or nested AND/OR/NOT groups)
6084
+ * - An "Add alternative" button to add more options
6085
+ * Clicking the trash icon on a child expression removes it from the OR group.
6086
+ * @private
6087
+ */
6088
+ "limebb-lime-query-filter-or": LocalJSX.LimebbLimeQueryFilterOr & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryFilterOrElement>;
6089
+ /**
6090
+ * Query Value Input Component
6091
+ * Renders an appropriate input control based on the property type and operator.
6092
+ * This component automatically adapts its UI to match the data type of the selected
6093
+ * property, providing a better user experience and data validation.
6094
+ * Supported input types:
6095
+ * - **String/Text**: Standard text input field
6096
+ * - **Integer/Decimal**: Number input with appropriate step values
6097
+ * - **Date**: Date picker returning ISO date strings
6098
+ * - **Time**: Time input field
6099
+ * - **Boolean (yesno)**: True/False dropdown
6100
+ * - **Option**: Dropdown populated with valid options from property definition
6101
+ * - **IN operator**: Comma-separated input for multiple values (any type)
6102
+ * - **Placeholder mode**: Select properties from active object using %activeObject%
6103
+ * The component handles type conversions automatically:
6104
+ * - Numbers are parsed from string inputs
6105
+ * - Dates are converted to/from ISO strings
6106
+ * - Booleans are converted to/from strings for dropdown compatibility
6107
+ * @private
6108
+ */
6109
+ "limebb-lime-query-value-input": LocalJSX.LimebbLimeQueryValueInput & JSXBase.HTMLAttributes<HTMLLimebbLimeQueryValueInputElement>;
4691
6110
  /**
4692
6111
  * Component for displaying the contents of an attached file on a limeobject
4693
6112
  * Example use case is to use it as a tab on the document card
@@ -4697,6 +6116,22 @@ declare module "@stencil/core" {
4697
6116
  * @beta
4698
6117
  */
4699
6118
  "limebb-limeobject-file-viewer": LocalJSX.LimebbLimeobjectFileViewer & JSXBase.HTMLAttributes<HTMLLimebbLimeobjectFileViewerElement>;
6119
+ /**
6120
+ * Limetype Field Component
6121
+ * A dropdown selector for choosing a limetype (object type) from the available
6122
+ * limetypes in the system.
6123
+ * This component:
6124
+ * - Displays all limetypes with their icons and localized names
6125
+ * - Supports restricting to a specific list of limetypes
6126
+ * - Can update dependent property-path fields when selection changes
6127
+ * - Implements the FormComponent interface for use in forms
6128
+ * Common use cases:
6129
+ * - Selecting which object type to query in a lime query builder
6130
+ * - Choosing target limetype for relations
6131
+ * - Configuring limetype-dependent settings
6132
+ * @private
6133
+ */
6134
+ "limebb-limetype-field": LocalJSX.LimebbLimetypeField & JSXBase.HTMLAttributes<HTMLLimebbLimetypeFieldElement>;
4700
6135
  /**
4701
6136
  * @private
4702
6137
  */
@@ -4791,6 +6226,44 @@ declare module "@stencil/core" {
4791
6226
  * @beta
4792
6227
  */
4793
6228
  "limebb-percentage-visualizer": LocalJSX.LimebbPercentageVisualizer & JSXBase.HTMLAttributes<HTMLLimebbPercentageVisualizerElement>;
6229
+ /**
6230
+ * Property Selector Component
6231
+ * A menu-based property selector that allows users to navigate through properties
6232
+ * and relations, only emitting complete property paths (not intermediate relations).
6233
+ * Similar to limec-context-expression but specifically for selecting properties
6234
+ * with dot-notation paths.
6235
+ * Features:
6236
+ * - Menu-based navigation through properties
6237
+ * - Submenu support for drilling into relations
6238
+ * - Internal state management during navigation
6239
+ * - Only emits complete paths (leaf properties)
6240
+ * - Chip-set display showing current path
6241
+ * @private
6242
+ */
6243
+ "limebb-property-selector": LocalJSX.LimebbPropertySelector & JSXBase.HTMLAttributes<HTMLLimebbPropertySelectorElement>;
6244
+ /**
6245
+ * Response Format Editor Component
6246
+ * Allows users to select which properties should be returned in the query response.
6247
+ * Supports selecting properties on both the main limetype and related limetypes
6248
+ * through belongsto relations.
6249
+ * Features:
6250
+ * - **Property selection**: Choose properties using dropdown navigation
6251
+ * - **Nested properties**: Select properties on related objects (e.g., company.name)
6252
+ * - **Property aliases**: Optionally rename properties in the response
6253
+ * - **Dynamic list**: Add/remove property selections
6254
+ * - **Real-time updates**: Changes immediately update the responseFormat
6255
+ * The component generates a `ResponseFormat` object with the `object` field
6256
+ * containing the selected properties.
6257
+ * @private
6258
+ */
6259
+ "limebb-response-format-editor": LocalJSX.LimebbResponseFormatEditor & JSXBase.HTMLAttributes<HTMLLimebbResponseFormatEditorElement>;
6260
+ /**
6261
+ * Response Format Property Item Component
6262
+ * Represents a single property selection with optional alias and description
6263
+ * Part of the response format editor
6264
+ * @private
6265
+ */
6266
+ "limebb-response-format-item": LocalJSX.LimebbResponseFormatItem & JSXBase.HTMLAttributes<HTMLLimebbResponseFormatItemElement>;
4794
6267
  /**
4795
6268
  * This component uses
4796
6269
  * [limel-popover](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-popover/)