@limetech/lime-crm-building-blocks 1.97.0 → 1.99.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 (170) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/{index.esm-a894ac76.js → index.esm-d785eb6e.js} +2 -0
  3. package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
  4. package/dist/cjs/limebb-browser.cjs.entry.js +1 -1
  5. package/dist/cjs/limebb-chat-item_2.cjs.entry.js +1 -1
  6. package/dist/cjs/limebb-chat-list.cjs.entry.js +1 -1
  7. package/dist/cjs/limebb-component-config.cjs.entry.js +1 -1
  8. package/dist/cjs/limebb-component-picker.cjs.entry.js +1 -1
  9. package/dist/cjs/limebb-currency-picker.cjs.entry.js +1 -1
  10. package/dist/cjs/limebb-date-picker.cjs.entry.js +1 -1
  11. package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +1 -1
  12. package/dist/cjs/limebb-feed.cjs.entry.js +1 -1
  13. package/dist/cjs/limebb-info-tile.cjs.entry.js +1 -1
  14. package/dist/cjs/limebb-kanban-group.cjs.entry.js +1 -1
  15. package/dist/cjs/limebb-kanban-item.cjs.entry.js +1 -1
  16. package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +90 -174
  17. package/dist/cjs/limebb-lime-query-filter-and.cjs.entry.js +80 -0
  18. package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +147 -0
  19. package/dist/cjs/limebb-lime-query-filter-group_4.cjs.entry.js +603 -0
  20. package/dist/cjs/limebb-lime-query-filter-or.cjs.entry.js +68 -0
  21. package/dist/cjs/limebb-limeobject-file-viewer.cjs.entry.js +1 -1
  22. package/dist/cjs/limebb-limetype-field_2.cjs.entry.js +37 -6
  23. package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
  24. package/dist/cjs/limebb-loader.cjs.entry.js +1 -1
  25. package/dist/cjs/limebb-locale-picker.cjs.entry.js +2 -2
  26. package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
  27. package/dist/cjs/limebb-mention.cjs.entry.js +1 -1
  28. package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +3 -3
  29. package/dist/cjs/limebb-notification-item.cjs.entry.js +2 -2
  30. package/dist/cjs/limebb-notification-list.cjs.entry.js +1 -1
  31. package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +2 -2
  32. package/dist/cjs/limebb-text-editor.cjs.entry.js +3 -3
  33. package/dist/cjs/limebb-trend-indicator.cjs.entry.js +1 -1
  34. package/dist/cjs/{limetype-1fe0207f.js → limetype-f2e4376e.js} +1 -1
  35. package/dist/cjs/loader.cjs.js +1 -1
  36. package/dist/collection/collection-manifest.json +1 -0
  37. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-and.js +41 -49
  38. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +77 -41
  39. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-expression.js +35 -46
  40. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.css +130 -0
  41. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js +269 -0
  42. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +19 -25
  43. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-or.js +34 -34
  44. package/dist/collection/components/lime-query-builder/lime-query-builder.js +60 -24
  45. package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +1 -1
  46. package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
  47. package/dist/collection/components/locale-picker/locale-picker.js +1 -1
  48. package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
  49. package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
  50. package/dist/collection/components/summary-popover/summary-popover.js +3 -3
  51. package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
  52. package/dist/collection/components/text-editor/text-editor.js +1 -1
  53. package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
  54. package/dist/components/index.esm.js +2 -1
  55. package/dist/components/lime-query-filter-comparison.js +32 -45
  56. package/dist/components/lime-query-filter-expression.js +315 -0
  57. package/dist/components/limebb-lime-query-builder.js +96 -184
  58. package/dist/components/limebb-lime-query-filter-and.js +130 -1
  59. package/dist/components/limebb-lime-query-filter-comparison.js +1 -1
  60. package/dist/components/limebb-lime-query-filter-expression.js +1 -1
  61. package/dist/components/limebb-lime-query-filter-group.d.ts +11 -0
  62. package/dist/components/limebb-lime-query-filter-group.js +6 -0
  63. package/dist/components/limebb-lime-query-filter-not.js +1 -1
  64. package/dist/components/limebb-lime-query-filter-or.js +118 -1
  65. package/dist/components/limebb-locale-picker.js +1 -1
  66. package/dist/components/limebb-mention-group-counter.js +2 -2
  67. package/dist/components/limebb-percentage-visualizer.js +2 -2
  68. package/dist/components/limebb-text-editor.js +1 -1
  69. package/dist/components/limebb-trend-indicator.js +1 -1
  70. package/dist/components/limetype-field.js +34 -2
  71. package/dist/components/live-docs-info.js +2 -2
  72. package/dist/components/notification-item.js +1 -1
  73. package/dist/components/summary-popover.js +3 -3
  74. package/dist/esm/{index.esm-d8fdeb18.js → index.esm-bb569663.js} +2 -1
  75. package/dist/esm/lime-crm-building-blocks.js +1 -1
  76. package/dist/esm/limebb-browser.entry.js +1 -1
  77. package/dist/esm/limebb-chat-item_2.entry.js +1 -1
  78. package/dist/esm/limebb-chat-list.entry.js +1 -1
  79. package/dist/esm/limebb-component-config.entry.js +1 -1
  80. package/dist/esm/limebb-component-picker.entry.js +1 -1
  81. package/dist/esm/limebb-currency-picker.entry.js +1 -1
  82. package/dist/esm/limebb-date-picker.entry.js +1 -1
  83. package/dist/esm/limebb-feed-timeline-item.entry.js +1 -1
  84. package/dist/esm/limebb-feed.entry.js +1 -1
  85. package/dist/esm/limebb-info-tile.entry.js +1 -1
  86. package/dist/esm/limebb-kanban-group.entry.js +1 -1
  87. package/dist/esm/limebb-kanban-item.entry.js +1 -1
  88. package/dist/esm/limebb-lime-query-builder.entry.js +89 -173
  89. package/dist/esm/limebb-lime-query-filter-and.entry.js +76 -0
  90. package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +142 -0
  91. package/dist/esm/limebb-lime-query-filter-group_4.entry.js +596 -0
  92. package/dist/esm/limebb-lime-query-filter-or.entry.js +64 -0
  93. package/dist/esm/limebb-limeobject-file-viewer.entry.js +1 -1
  94. package/dist/esm/limebb-limetype-field_2.entry.js +36 -5
  95. package/dist/esm/limebb-live-docs-info.entry.js +2 -2
  96. package/dist/esm/limebb-loader.entry.js +1 -1
  97. package/dist/esm/limebb-locale-picker.entry.js +2 -2
  98. package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
  99. package/dist/esm/limebb-mention.entry.js +1 -1
  100. package/dist/esm/limebb-navigation-button_2.entry.js +3 -3
  101. package/dist/esm/limebb-notification-item.entry.js +2 -2
  102. package/dist/esm/limebb-notification-list.entry.js +1 -1
  103. package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
  104. package/dist/esm/limebb-text-editor.entry.js +3 -3
  105. package/dist/esm/limebb-trend-indicator.entry.js +1 -1
  106. package/dist/esm/{limetype-6e7552a7.js → limetype-c0e041f7.js} +1 -1
  107. package/dist/esm/loader.js +1 -1
  108. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  109. package/dist/lime-crm-building-blocks/p-03accd53.entry.js +1 -0
  110. package/dist/lime-crm-building-blocks/{p-a1818969.entry.js → p-03af0e66.entry.js} +1 -1
  111. package/dist/lime-crm-building-blocks/{p-f402184f.entry.js → p-098ee6c1.entry.js} +1 -1
  112. package/dist/lime-crm-building-blocks/{p-42e52b50.entry.js → p-1be0eec7.entry.js} +1 -1
  113. package/dist/lime-crm-building-blocks/{p-2aa18c2b.entry.js → p-206575e4.entry.js} +1 -1
  114. package/dist/lime-crm-building-blocks/p-20bfca36.js +1 -0
  115. package/dist/lime-crm-building-blocks/{p-82d33d43.entry.js → p-2faaacbc.entry.js} +1 -1
  116. package/dist/lime-crm-building-blocks/{p-d4016891.entry.js → p-2fdcb868.entry.js} +1 -1
  117. package/dist/lime-crm-building-blocks/{p-f52125a0.entry.js → p-3122ea05.entry.js} +1 -1
  118. package/dist/lime-crm-building-blocks/{p-baf4e428.entry.js → p-3175883d.entry.js} +1 -1
  119. package/dist/lime-crm-building-blocks/{p-8c8b7115.entry.js → p-32534eb7.entry.js} +1 -1
  120. package/dist/lime-crm-building-blocks/{p-6c1146ca.entry.js → p-36ea13c0.entry.js} +1 -1
  121. package/dist/lime-crm-building-blocks/p-4715210d.entry.js +1 -0
  122. package/dist/lime-crm-building-blocks/{p-1fba0ade.js → p-4838284a.js} +1 -1
  123. package/dist/lime-crm-building-blocks/{p-5e4ba110.entry.js → p-5464f0de.entry.js} +1 -1
  124. package/dist/lime-crm-building-blocks/{p-e9d23ef7.entry.js → p-569c86b5.entry.js} +1 -1
  125. package/dist/lime-crm-building-blocks/{p-90e1716a.entry.js → p-5dc574a3.entry.js} +1 -1
  126. package/dist/lime-crm-building-blocks/p-5f7644b5.entry.js +1 -0
  127. package/dist/lime-crm-building-blocks/{p-00da9b24.entry.js → p-631ca5a5.entry.js} +1 -1
  128. package/dist/lime-crm-building-blocks/p-67dbaa4c.entry.js +1 -0
  129. package/dist/lime-crm-building-blocks/{p-beb0d164.entry.js → p-7271f47a.entry.js} +1 -1
  130. package/dist/lime-crm-building-blocks/{p-34357744.entry.js → p-9031f136.entry.js} +1 -1
  131. package/dist/lime-crm-building-blocks/p-91732502.entry.js +1 -0
  132. package/dist/lime-crm-building-blocks/{p-8c4eb49f.entry.js → p-93cadc1e.entry.js} +1 -1
  133. package/dist/lime-crm-building-blocks/{p-3932077b.entry.js → p-9cac4de2.entry.js} +1 -1
  134. package/dist/lime-crm-building-blocks/{p-79d4668a.entry.js → p-a200954f.entry.js} +1 -1
  135. package/dist/lime-crm-building-blocks/p-aa646df7.entry.js +1 -0
  136. package/dist/lime-crm-building-blocks/{p-d89c44ad.entry.js → p-b9b954d9.entry.js} +1 -1
  137. package/dist/lime-crm-building-blocks/{p-3a620226.entry.js → p-cfa1a4ad.entry.js} +1 -1
  138. package/dist/lime-crm-building-blocks/{p-ef8a5266.entry.js → p-e8946134.entry.js} +1 -1
  139. package/dist/lime-crm-building-blocks/{p-9d9f25da.entry.js → p-eb81bceb.entry.js} +1 -1
  140. package/dist/lime-crm-building-blocks/{p-50d3d61a.entry.js → p-ee1b00b9.entry.js} +1 -1
  141. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-and.d.ts +5 -4
  142. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-comparison.d.ts +6 -4
  143. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-expression.d.ts +10 -14
  144. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-group.d.ts +60 -0
  145. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-not.d.ts +4 -4
  146. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-or.d.ts +5 -4
  147. package/dist/types/components/lime-query-builder/lime-query-builder.d.ts +19 -2
  148. package/dist/types/components/lime-query-builder/lime-query.types.d.ts +2 -1
  149. package/dist/types/components.d.ts +209 -65
  150. package/package.json +1 -1
  151. package/dist/cjs/isEqual-e77cce75.js +0 -37
  152. package/dist/cjs/lime-query.types-bcb63a22.js +0 -61
  153. package/dist/cjs/limebb-lime-query-filter-and_5.cjs.entry.js +0 -278
  154. package/dist/cjs/limebb-lime-query-value-input.cjs.entry.js +0 -239
  155. package/dist/cjs/limebb-property-selector.cjs.entry.js +0 -234
  156. package/dist/components/isEqual.js +0 -35
  157. package/dist/components/lime-query-filter-and.js +0 -408
  158. package/dist/esm/isEqual-57d0c223.js +0 -35
  159. package/dist/esm/lime-query.types-f72355e1.js +0 -59
  160. package/dist/esm/limebb-lime-query-filter-and_5.entry.js +0 -270
  161. package/dist/esm/limebb-lime-query-value-input.entry.js +0 -235
  162. package/dist/esm/limebb-property-selector.entry.js +0 -230
  163. package/dist/lime-crm-building-blocks/p-02c0cc04.entry.js +0 -1
  164. package/dist/lime-crm-building-blocks/p-3b0a15ec.js +0 -1
  165. package/dist/lime-crm-building-blocks/p-5a6d2e7f.js +0 -1
  166. package/dist/lime-crm-building-blocks/p-60971d64.js +0 -1
  167. package/dist/lime-crm-building-blocks/p-70a28b93.entry.js +0 -1
  168. package/dist/lime-crm-building-blocks/p-96beaabc.entry.js +0 -1
  169. package/dist/lime-crm-building-blocks/p-b7c72179.entry.js +0 -1
  170. package/dist/lime-crm-building-blocks/p-f99c611d.entry.js +0 -1
@@ -9,8 +9,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
9
9
  return c > 3 && r && Object.defineProperty(target, key, r), r;
10
10
  };
11
11
  import { h } from "@stencil/core";
12
- import { SelectLimeTypes as Limetypes, } from "@limetech/lime-web-components";
13
- import { guiFilterToLimeQuery, limeQueryToGuiFilter, normalizeLimeQueryFilterForGui, } from "./filter-conversion";
12
+ import { Operator, SelectLimeTypes as Limetypes, } from "@limetech/lime-web-components";
14
13
  import { isLimeQuerySupported, } from "./lime-query-validation";
15
14
  /**
16
15
  * Lime Query Builder Component
@@ -25,11 +24,18 @@ import { isLimeQuerySupported, } from "./lime-query-validation";
25
24
  * - **Type-aware inputs**: Automatic input types based on property type
26
25
  * - **Response format**: Select which properties to return
27
26
  * - **Query options**: Configure limit and other query parameters
27
+ * - **Placeholder support**: Use `%activeObject%` placeholders in filter values
28
28
  * - **Real-time output**: See the Lime Query JSON as you build
29
29
  *
30
30
  * The component produces a complete `LimeQuery` object that can be sent
31
31
  * directly to the Lime CRM backend.
32
32
  *
33
+ * **Active Object Placeholders**:
34
+ * When the `activeLimetype` prop is provided, the component enables validation
35
+ * and UI support for `%activeObject%` placeholders in filter expressions.
36
+ * These placeholders reference properties of a contextual "active object"
37
+ * (e.g., `%activeObject%.company` references the company of the active object).
38
+ *
33
39
  * @exampleComponent limebb-example-lime-query-builder-basic
34
40
  * @private
35
41
  */
@@ -39,16 +45,16 @@ export class LimeQueryBuilder {
39
45
  this.codeValue = '';
40
46
  this.limetype = '';
41
47
  this.filter = {
42
- filter_type: 'AND',
43
- expressions: [],
48
+ op: Operator.AND,
49
+ exp: [],
44
50
  };
45
51
  this.handleLimetypeChange = (event) => {
46
52
  event.stopPropagation();
47
53
  this.limetype = event.detail;
48
54
  // Reset filter when limetype changes
49
55
  this.filter = {
50
- filter_type: 'AND',
51
- expressions: [],
56
+ op: Operator.AND,
57
+ exp: [],
52
58
  };
53
59
  // Reset response format when limetype changes
54
60
  this.internalResponseFormat = {
@@ -60,15 +66,15 @@ export class LimeQueryBuilder {
60
66
  };
61
67
  this.handleFilterChange = (event) => {
62
68
  event.stopPropagation();
63
- // Convert missing expression back to empty AND to keep the UI consistent
64
- if (event.detail.filter_type === '') {
69
+ const expression = event.detail;
70
+ if (expression === undefined) {
65
71
  this.filter = {
66
- filter_type: 'AND',
67
- expressions: [],
72
+ op: Operator.AND,
73
+ exp: [],
68
74
  };
69
75
  }
70
76
  else {
71
- this.filter = event.detail;
77
+ this.filter = expression;
72
78
  }
73
79
  this.emitChange();
74
80
  };
@@ -83,10 +89,6 @@ export class LimeQueryBuilder {
83
89
  this.limit = value ? Number.parseInt(value, 10) : undefined;
84
90
  this.emitChange();
85
91
  };
86
- this.handleActiveLimetypeChange = (event) => {
87
- event.stopPropagation();
88
- this.activeLimetype = event.detail || undefined;
89
- };
90
92
  this.switchToGui = () => {
91
93
  // Validate JSON before switching
92
94
  try {
@@ -99,7 +101,7 @@ export class LimeQueryBuilder {
99
101
  }
100
102
  // Update internal state from parsed query
101
103
  this.limetype = parsed.limetype || '';
102
- this.filter = normalizeLimeQueryFilterForGui(limeQueryToGuiFilter(parsed.filter));
104
+ this.filter = this.normalizeFilter(parsed.filter);
103
105
  this.internalResponseFormat = parsed.responseFormat;
104
106
  this.limit = parsed.limit;
105
107
  this.mode = 'gui';
@@ -140,7 +142,7 @@ export class LimeQueryBuilder {
140
142
  }
141
143
  if (this.value) {
142
144
  this.limetype = this.value.limetype || '';
143
- this.filter = normalizeLimeQueryFilterForGui(limeQueryToGuiFilter(this.value.filter));
145
+ this.filter = this.normalizeFilter(this.value.filter);
144
146
  this.internalResponseFormat = this.value.responseFormat;
145
147
  this.limit = this.value.limit;
146
148
  }
@@ -155,10 +157,26 @@ export class LimeQueryBuilder {
155
157
  render() {
156
158
  const guiSupported = this.checkGuiSupport();
157
159
  const showCodeMode = !this.guiModeEnabled || this.mode === 'code';
158
- return (h("div", { key: 'd179549c02b40689f61a47f327c9b4ab3e578258', class: "lime-query-builder" }, this.renderLabel(), this.renderModeControls(guiSupported), showCodeMode
160
+ return (h("div", { key: '5ff70a352e3e57ff4c51d44627bd4b5ed367fff4', class: "lime-query-builder" }, this.renderLabel(), this.renderModeControls(guiSupported), showCodeMode
159
161
  ? this.renderCodeMode(guiSupported)
160
162
  : this.renderGuiMode()));
161
163
  }
164
+ /**
165
+ * Normalize filter to ensure top-level is an AND group.
166
+ * This ensures Add buttons are available in the UI.
167
+ * @param filter
168
+ */
169
+ normalizeFilter(filter) {
170
+ if (!filter) {
171
+ return { op: Operator.AND, exp: [] };
172
+ }
173
+ // If it's already an AND at the top level, keep it
174
+ if ('op' in filter && filter.op === Operator.AND) {
175
+ return filter;
176
+ }
177
+ // Otherwise wrap in AND
178
+ return { op: Operator.AND, exp: [filter] };
179
+ }
162
180
  emitChange() {
163
181
  // Only emit in GUI mode
164
182
  if (this.mode === 'code') {
@@ -176,7 +194,7 @@ export class LimeQueryBuilder {
176
194
  const limeQuery = {
177
195
  limetype: this.limetype,
178
196
  responseFormat: responseFormat,
179
- filter: guiFilterToLimeQuery(this.filter),
197
+ filter: this.filter,
180
198
  };
181
199
  if (this.limit !== undefined && this.limit > 0) {
182
200
  limeQuery.limit = this.limit;
@@ -197,7 +215,7 @@ export class LimeQueryBuilder {
197
215
  const limeQuery = {
198
216
  limetype: this.limetype,
199
217
  responseFormat: responseFormat,
200
- filter: guiFilterToLimeQuery(this.filter),
218
+ filter: this.filter,
201
219
  };
202
220
  if (this.limit !== undefined && this.limit > 0) {
203
221
  limeQuery.limit = this.limit;
@@ -248,7 +266,7 @@ export class LimeQueryBuilder {
248
266
  queryToCheck = {
249
267
  limetype: this.limetype,
250
268
  responseFormat: responseFormat,
251
- filter: guiFilterToLimeQuery(this.filter),
269
+ filter: this.filter,
252
270
  };
253
271
  if (this.limit !== undefined && this.limit > 0) {
254
272
  queryToCheck.limit = this.limit;
@@ -287,7 +305,7 @@ export class LimeQueryBuilder {
287
305
  if (!this.limetype) {
288
306
  return;
289
307
  }
290
- return (h("div", { class: "query-options-section" }, h("h4", { class: "section-label" }, "Query Options"), h("div", { class: "query-options-controls" }, h("limebb-limetype-field", { platform: this.platform, context: this.context, label: "Active Object Type", value: this.activeLimetype, required: false, fieldName: "activeLimetype", helperText: "Limetype of the active object (for %activeObject% placeholders)", onChange: this.handleActiveLimetypeChange }), h("limel-input-field", { label: "Limit", type: "number", value: ((_a = this.limit) === null || _a === void 0 ? void 0 : _a.toString()) || '', placeholder: "No limit", helperText: "Maximum number of results", onChange: this.handleLimitChange }))));
308
+ return (h("div", { class: "query-options-section" }, h("h4", { class: "section-label" }, "Query Options"), h("div", { class: "query-options-controls" }, h("limel-input-field", { label: "Limit", type: "number", value: ((_a = this.limit) === null || _a === void 0 ? void 0 : _a.toString()) || '', placeholder: "No limit", helperText: "Maximum number of results", onChange: this.handleLimitChange }))));
291
309
  }
292
310
  renderGuiMode() {
293
311
  return (h("div", { class: "gui-mode" }, this.renderLimetypeSection(), this.renderResponseFormatSection(), this.renderFilterSection(), this.renderQueryOptionsSection()));
@@ -408,6 +426,25 @@ export class LimeQueryBuilder {
408
426
  "setter": false,
409
427
  "attribute": "label",
410
428
  "reflect": false
429
+ },
430
+ "activeLimetype": {
431
+ "type": "string",
432
+ "mutable": false,
433
+ "complexType": {
434
+ "original": "string",
435
+ "resolved": "string | undefined",
436
+ "references": {}
437
+ },
438
+ "required": false,
439
+ "optional": true,
440
+ "docs": {
441
+ "tags": [],
442
+ "text": "The limetype of the active object (for %activeObject% placeholder validation).\nWhen provided, enables placeholder validation and the placeholder input mode.\nWhen omitted, placeholders are accepted without validation."
443
+ },
444
+ "getter": false,
445
+ "setter": false,
446
+ "attribute": "active-limetype",
447
+ "reflect": false
411
448
  }
412
449
  };
413
450
  }
@@ -419,8 +456,7 @@ export class LimeQueryBuilder {
419
456
  "limetype": {},
420
457
  "filter": {},
421
458
  "internalResponseFormat": {},
422
- "limit": {},
423
- "activeLimetype": {}
459
+ "limit": {}
424
460
  };
425
461
  }
426
462
  static get events() {
@@ -78,7 +78,7 @@ export class LimetypeField {
78
78
  value: '',
79
79
  };
80
80
  options.unshift(emptyOption);
81
- return (h("limel-select", { key: '82ce4b92e4ff1285e259f07a35634df722f5baab', label: this.label, options: options, value: selectedOption, required: this.required, helperText: this.helperText, invalid: invalid, disabled: this.disabled || this.readonly, onChange: this.handleChange }));
81
+ return (h("limel-select", { key: 'cf27b83c4751838e85436af443a275b3d7c9dfee', label: this.label, options: options, value: selectedOption, required: this.required, helperText: this.helperText, invalid: invalid, disabled: this.disabled || this.readonly, onChange: this.handleChange }));
82
82
  }
83
83
  componentWillRender() {
84
84
  this.updatePropertyFields(this.value || '');
@@ -5,8 +5,8 @@ import { h } from "@stencil/core";
5
5
  export class LiveDocsInfo {
6
6
  render() {
7
7
  return [
8
- h("div", { key: '98c48e74c9cade3b2da713618d585dd8f80e3116', class: "header" }, h("limel-icon", { key: 'b8f56066533f64842a25a324c2794914700c2e8a', name: "not_showing_video_frames" }), h("h2", { key: 'c1e8c722d1fc7d22a85f348a66094ffd8c5a5dd3' }, "Viewing this file type requires ", h("em", { key: '8aca798b2cf1bfe81be5142496e693f57efea8b1' }, "Live Docs"))),
9
- h("p", { key: '3934d0c93f6c4b6524643c2ecadd0f3f0f925b09' }, h("em", { key: '1d3b811bf94ba19644231e77434442f9f1ade8f6' }, "Live Docs"), " not only enables you to view many file formats such as Microsoft Office documents, but it also empowers you to edit them right in the CRM. No need to download anything on your device!", h("a", { key: '023c16b0cfc5b57d750c9a344690fcce51350100', target: "_blank", href: "https://www.lime-technologies.com/en/lime-crm/live-docs/" }, "Learn more")),
8
+ h("div", { key: '849694495956b6afbdfeac8aa7de680e1ab03450', class: "header" }, h("limel-icon", { key: '84117fdfff949d6b41b9ec3f2b3ec73f21e5be7b', name: "not_showing_video_frames" }), h("h2", { key: '90f1738815699808c6353707b4f366d8a2c661ac' }, "Viewing this file type requires ", h("em", { key: 'ef09921e893851f06b756e1e2777847a7e4bd563' }, "Live Docs"))),
9
+ h("p", { key: 'a835a0e1cabd84d7509167b3331878807b083130' }, h("em", { key: '3f9ce9e473f33b89adfeb3b143e46cabb6feb1d4' }, "Live Docs"), " not only enables you to view many file formats such as Microsoft Office documents, but it also empowers you to edit them right in the CRM. No need to download anything on your device!", h("a", { key: 'f3e683b041ddd66e6f23514d9bb5f3faf80f4c3a', target: "_blank", href: "https://www.lime-technologies.com/en/lime-crm/live-docs/" }, "Learn more")),
10
10
  ];
11
11
  }
12
12
  static get is() { return "limebb-live-docs-info"; }
@@ -53,7 +53,7 @@ export class LocalePicker {
53
53
  const value = this.value;
54
54
  selectedOptions = options.find((option) => option.value === value);
55
55
  }
56
- return (h("limel-select", { key: '4010306cc9bb60b5d1233165eeca5468fe011c33', value: selectedOptions, options: sortBy(options, 'text'), helperText: this.helperText, label: this.label, required: this.required, disabled: this.disabled, readonly: this.readonly, onChange: this.handleChange, multiple: this.multipleChoice }));
56
+ return (h("limel-select", { key: '5b3491e9dd6725186c4a2795e7893de43457e147', value: selectedOptions, options: sortBy(options, 'text'), helperText: this.helperText, label: this.label, required: this.required, disabled: this.disabled, readonly: this.readonly, onChange: this.handleChange, multiple: this.multipleChoice }));
57
57
  }
58
58
  static get is() { return "limebb-locale-picker"; }
59
59
  static get encapsulation() { return "shadow"; }
@@ -56,7 +56,7 @@ export class NotificationListItem {
56
56
  }
57
57
  render() {
58
58
  var _a, _b;
59
- return (h(Host, { key: 'e51a5ebe9c955d43f1025a61a12ca870abb66347', id: this.item.id, class: {
59
+ return (h(Host, { key: '39801fd8e10f1dc228741df48561cad3c59d81d7', id: this.item.id, class: {
60
60
  'is-clickable': this.isItemClickable(),
61
61
  'is-read': !!((_a = this.item) === null || _a === void 0 ? void 0 : _a.read),
62
62
  'is-selected': !!((_b = this.item) === null || _b === void 0 ? void 0 : _b.selected),
@@ -91,11 +91,11 @@ export class PercentageVisualizer {
91
91
  render() {
92
92
  const normalizedValue = this.getNormalizedValue();
93
93
  const zeroPoint = this.getZeroPointPosition();
94
- return (h(Host, { key: 'a99a367379f75613f8f37824fae64d5425e13c92', class: this.getContainerClassList(), style: {
94
+ return (h(Host, { key: '069ab0188df35e32bca3fe7c000d2c5c874012a5', class: this.getContainerClassList(), style: {
95
95
  '--limebb-percentage-visualizer-zero-point-position': `${zeroPoint}%`,
96
96
  '--limebb-percentage-visualizer-width': `${Math.abs(normalizedValue)}%`,
97
97
  '--limebb-percentage-visualizer-rotate': `${normalizedValue >= 0 ? '0deg' : '180deg'}`,
98
- } }, h("limel-notched-outline", { key: '498c23ad0ddd79219de646286f9958a84c2592c9', tabIndex: 0, role: "meter", "aria-valuemin": this.rangeMin, "aria-valuemax": this.rangeMax, "aria-valuenow": this.numValue, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-controls": this.helperTextId }, h("div", { key: 'f8ba78a9b92bb93fc107e04f3001413c7560431b', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
98
+ } }, h("limel-notched-outline", { key: 'f6e544a1859f3166ee540435c687415bbfd5de1d', tabIndex: 0, role: "meter", "aria-valuemin": this.rangeMin, "aria-valuemax": this.rangeMax, "aria-valuenow": this.numValue, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-controls": this.helperTextId }, h("div", { key: '348f345b2212b3da15c0e081385a5fee76317ebe', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
99
99
  }
100
100
  renderVisualization() {
101
101
  if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {
@@ -118,14 +118,14 @@ export class SummaryPopover {
118
118
  top: '0.125rem',
119
119
  right: '0.125rem',
120
120
  };
121
- return (h("limel-popover", { key: '838ab57fbd92dd56d10df1e132c3a0f3f2fef58a', style: {
121
+ return (h("limel-popover", { key: '1681bf3578fb29886f68070e3e07397d1e312dc1', style: {
122
122
  '--limebb-summary-popover-timeout': `${this.triggerDelay}ms`,
123
- }, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("div", { key: 'ae1c5c30ac48ea401319596edc02c0cebecede2c', slot: "trigger", tabIndex: 0, onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocus: this.openPopoverWithDelay }, h("slot", { key: 'c4aa17eca607080749902ebc19dca7cead778af9', name: "trigger" }), h("div", { key: 'a19c9591ea7744550f1a7588522552155549b4d1', class: "opening-countdown-indicator" })), h("limel-card", { key: 'c19be162436f7744717934e0f5b21e2558dacb5d', style: {
123
+ }, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("div", { key: '1e2daa75c518f4949a7ca6fdd0ff29bc1a6d529e', slot: "trigger", tabIndex: 0, onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocus: this.openPopoverWithDelay }, h("slot", { key: '9d1a9b69db8ac1c4cfddd62fb9949c98700e61b7', name: "trigger" }), h("div", { key: '95fcc70f46106c426ae191b6a8d66c7d7a025ca9', class: "opening-countdown-indicator" })), h("limel-card", { key: '9294ae443aa9f279c3c01f0af48ca6a2d0d1409f', style: {
124
124
  'max-width': this.popoverMaxWidth,
125
125
  'max-height': this.popoverMaxHeight,
126
126
  'min-width': '7rem',
127
127
  'min-height': '3rem',
128
- }, orientation: "landscape", heading: this.heading, subheading: this.subheading, icon: this.icon, value: this.value, image: this.image, actions: this.actions, onActionSelected: this.handleSelected }, h("limebb-navigation-button", { key: 'e2e8685758030513feacce28e6b9a09cadb7f6c7', slot: "component", type: "close", style: closeButtonStyle, tooltipLabel: "Close", tooltipHelperLabel: "Esc", onClick: this.handleCloseClick }))));
128
+ }, orientation: "landscape", heading: this.heading, subheading: this.subheading, icon: this.icon, value: this.value, image: this.image, actions: this.actions, onActionSelected: this.handleSelected }, h("limebb-navigation-button", { key: 'b26fecf7c748fcd82fea453ece55189bcd1302ef', slot: "component", type: "close", style: closeButtonStyle, tooltipLabel: "Close", tooltipHelperLabel: "Esc", onClick: this.handleCloseClick }))));
129
129
  }
130
130
  static get is() { return "limebb-summary-popover"; }
131
131
  static get encapsulation() { return "shadow"; }
@@ -13,8 +13,8 @@ export class MentionGroupCounter {
13
13
  render() {
14
14
  const label = this.getLabel();
15
15
  return [
16
- h("span", { key: 'e6627acbd791531d8f94ed31b07bc47af748da9d', id: this.tooltipId }, label),
17
- h("limel-tooltip", { key: 'e7eddf0643b594fce4aa00f8c783c39b815bbc6d', elementId: this.tooltipId, label: label, helperLabel: this.helperLabel }),
16
+ h("span", { key: 'dcd5792c82409e75e149e263fc7b4864e195a387', id: this.tooltipId }, label),
17
+ h("limel-tooltip", { key: '2c17e50ac616348df3a98da324b6538891cff75c', elementId: this.tooltipId, label: label, helperLabel: this.helperLabel }),
18
18
  ];
19
19
  }
20
20
  getLabel() {
@@ -389,7 +389,7 @@ export class LimeBBTextEditor {
389
389
  }
390
390
  render() {
391
391
  return [
392
- h("limel-text-editor", { key: 'de672970cfd1048cc232eeadd527153421f28f36', ref: (el) => (this.textEditor = el), tabindex: this.disabled ? -1 : 0, value: this.value, contentType: this.contentType, customElements: this.registeredCustomElements, "aria-disabled": this.disabled, language: this.language, triggers: this.registeredTriggers, onTriggerStart: this.handleTriggerStart, onTriggerStop: this.handleTriggerStop, onTriggerChange: this.handleTriggerChange, onImagePasted: this.handleImagePasted, onMetadataChange: this.handleMetadataChange, ui: this.ui, allowResize: this.allowResize, required: this.required, disabled: this.disabled, readonly: this.readonly, helperText: this.helperText, placeholder: this.placeholder, label: this.label, invalid: this.invalid }),
392
+ h("limel-text-editor", { key: '277ec61f05d5edff319ed8bb37df9bc385cb3941', ref: (el) => (this.textEditor = el), tabindex: this.disabled ? -1 : 0, value: this.value, contentType: this.contentType, customElements: this.registeredCustomElements, "aria-disabled": this.disabled, language: this.language, triggers: this.registeredTriggers, onTriggerStart: this.handleTriggerStart, onTriggerStop: this.handleTriggerStop, onTriggerChange: this.handleTriggerChange, onImagePasted: this.handleImagePasted, onMetadataChange: this.handleMetadataChange, ui: this.ui, allowResize: this.allowResize, required: this.required, disabled: this.disabled, readonly: this.readonly, helperText: this.helperText, placeholder: this.placeholder, label: this.label, invalid: this.invalid }),
393
393
  this.renderPicker(),
394
394
  ];
395
395
  }
@@ -52,7 +52,7 @@ export class TrendIndicator {
52
52
  this.numValue = this.parseValue(this.value);
53
53
  }
54
54
  render() {
55
- return (h(Host, { key: 'a0f458a114e5698f40899c44d532643f50bef249', class: this.getContainerClassList() }, h("limel-notched-outline", { key: 'fe9a66d44f3155d6594da5e7e16ce9a33907f800', id: this.tooltipId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, "aria-controls": this.helperTextId }, h("div", { key: 'daff3b1e6ec7098e7353bca3664179fd9c2594c1', slot: "content", tabIndex: 0 }, this.renderVisualization())), this.renderHelperLine(), this.renderTooltip()));
55
+ return (h(Host, { key: '8c503e1a099f65fe29e2ef1903f78ddf62f815d9', class: this.getContainerClassList() }, h("limel-notched-outline", { key: '76d8b456dec89cea949ae427091256dffc1e71ab', id: this.tooltipId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, "aria-controls": this.helperTextId }, h("div", { key: 'e295b50dcc7a3d4cb017f7d1ca5dd187bf52299c', slot: "content", tabIndex: 0 }, this.renderVisualization())), this.renderHelperLine(), this.renderTooltip()));
56
56
  }
57
57
  renderVisualization() {
58
58
  if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {
@@ -747,6 +747,7 @@ G = Xt([
747
747
  id: Jt
748
748
  })
749
749
  ], G);
750
+ var Zt = /* @__PURE__ */ ((t) => (t.AND = "AND", t.OR = "OR", t.NOT = "!", t.EQUALS = "=", t.NOT_EQUALS = "!=", t.GREATER = ">", t.LESS = "<", t.IN = "IN", t.BEGINS = "=?", t.LIKE = "?", t.LESS_OR_EQUAL = "<=", t.GREATER_OR_EQUAL = ">=", t.ENDS = "=$", t))(Zt || {});
750
751
  const We = {
751
752
  Count: "COUNT",
752
753
  Sum: "SUM",
@@ -829,4 +830,4 @@ c.NotificationRepository = we;
829
830
  const Pe = "pollerFactory";
830
831
  c.PollerFactory = Pe;
831
832
 
832
- export { De as D, Ge as G, He as H, Ke as K, Le as L, Me as M, Te as T, We as W, Ye as Y, c, h };
833
+ export { De as D, Ge as G, He as H, Ke as K, Le as L, Me as M, Te as T, We as W, Ye as Y, Zt as Z, c, h };
@@ -1,120 +1,107 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+ import { Z as Zt } from './index.esm.js';
2
3
  import { d as defineCustomElement$2 } from './lime-query-value-input.js';
3
4
  import { d as defineCustomElement$1 } from './property-selector.js';
4
5
 
5
- /**
6
- * TypeScript type definitions for Lime Query DSL
7
- *
8
- * These types represent the structure of Lime Query as defined in:
9
- * - lime-core/lime_query/schema.py
10
- * - lime-core/lime_filter/schema.py
11
- */
12
- /**
13
- * Available operators with display metadata
14
- */
6
+ const limeQueryFilterComparisonCss = ".expression-container{display:flex;flex-direction:row;align-items:flex-start;gap:1rem;flex-wrap:wrap}.expression-container>*{flex-grow:2;width:30%;max-width:calc(100% - 3.25rem)}.expression-container>.operator{flex-grow:1;width:calc(30% + 1rem);min-width:4rem}.expression-container>.remove{flex-grow:0;width:auto;margin-left:auto}@media (max-width: 768px){.expression-container{flex-direction:column}.expression-container>*{width:100%;max-width:100%}.expression-container>.operator{width:100%}.expression-container>.remove{margin-left:0;align-self:flex-end}}";
7
+ const LimebbLimeQueryFilterComparisonStyle0 = limeQueryFilterComparisonCss;
8
+
15
9
  const LIME_QUERY_OPERATORS = [
16
- { value: '=', label: 'Equals', icon: 'equals' },
17
- { value: '!=', label: 'Not Equals', icon: 'not-equal' },
10
+ { value: Zt.EQUALS, label: 'Equals', icon: 'equals' },
11
+ { value: Zt.NOT_EQUALS, label: 'Not Equals', icon: 'not-equal' },
18
12
  {
19
- value: '>',
13
+ value: Zt.GREATER,
20
14
  label: 'Greater Than',
21
15
  icon: 'greater-than',
22
16
  applicableTypes: ['integer', 'decimal', 'date', 'time'],
23
17
  },
24
18
  {
25
- value: '>=',
19
+ value: Zt.GREATER_OR_EQUAL,
26
20
  label: 'Greater or Equal',
27
21
  icon: 'greater-or-equal',
28
22
  applicableTypes: ['integer', 'decimal', 'date', 'time'],
29
23
  },
30
24
  {
31
- value: '<',
25
+ value: Zt.LESS,
32
26
  label: 'Less Than',
33
27
  icon: 'less-than',
34
28
  applicableTypes: ['integer', 'decimal', 'date', 'time'],
35
29
  },
36
30
  {
37
- value: '<=',
31
+ value: Zt.LESS_OR_EQUAL,
38
32
  label: 'Less or Equal',
39
33
  icon: 'less-or-equal',
40
34
  applicableTypes: ['integer', 'decimal', 'date', 'time'],
41
35
  },
42
- { value: 'IN', label: 'In List', icon: 'list' },
36
+ { value: Zt.IN, label: 'In List', icon: 'list' },
43
37
  {
44
- value: '?',
38
+ value: Zt.LIKE,
45
39
  label: 'Contains',
46
40
  icon: '-lime-filter-contain',
47
41
  applicableTypes: ['string', 'text'],
48
42
  },
49
43
  {
50
- value: '=?',
44
+ value: Zt.BEGINS,
51
45
  label: 'Begins With',
52
46
  icon: '-lime-filter-begin',
53
47
  applicableTypes: ['string', 'text'],
54
48
  },
55
49
  {
56
- value: '=$',
50
+ value: Zt.ENDS,
57
51
  label: 'Ends With',
58
52
  icon: '-lime-filter-end',
59
53
  applicableTypes: ['string', 'text'],
60
54
  },
61
55
  ];
62
-
63
- const limeQueryFilterComparisonCss = ".expression-container{display:flex;flex-direction:row;align-items:flex-start;gap:1rem;flex-wrap:wrap}.expression-container>*{flex-grow:2;width:30%;max-width:calc(100% - 3.25rem)}.expression-container>.operator{flex-grow:1;width:calc(30% + 1rem);min-width:4rem}.expression-container>.remove{flex-grow:0;width:auto;margin-left:auto}@media (max-width: 768px){.expression-container{flex-direction:column}.expression-container>*{width:100%;max-width:100%}.expression-container>.operator{width:100%}.expression-container>.remove{margin-left:0;align-self:flex-end}}";
64
- const LimebbLimeQueryFilterComparisonStyle0 = limeQueryFilterComparisonCss;
65
-
66
56
  const LimeQueryFilterComparisonComponent = /*@__PURE__*/ proxyCustomElement(class LimeQueryFilterComparisonComponent extends HTMLElement {
67
57
  constructor() {
68
58
  super();
69
59
  this.__registerHost();
70
60
  this.__attachShadow();
71
61
  this.expressionChange = createEvent(this, "expressionChange", 7);
72
- /**
73
- * The comparison expression to render
74
- */
75
- this.expression = {
76
- filter_type: 'comparison',
77
- property: '',
78
- operator: '=',
79
- value: '',
80
- };
81
62
  this.handlePropertyChange = (event) => {
82
63
  event.stopPropagation();
83
- this.expressionChange.emit(Object.assign(Object.assign({}, this.expression), { property: event.detail }));
64
+ this.expressionChange.emit(Object.assign(Object.assign({}, this.expression), { key: event.detail }));
84
65
  };
85
66
  this.handleOperatorChange = (event) => {
86
67
  event.stopPropagation();
87
- this.expressionChange.emit(Object.assign(Object.assign({}, this.expression), { operator: event.detail.value }));
68
+ // TODO: Clear value when switching between IN and other operators
69
+ // since array values are incompatible with single-value operators
70
+ this.expressionChange.emit({
71
+ key: this.expression.key,
72
+ op: event.detail.value,
73
+ exp: this.expression.exp,
74
+ });
88
75
  };
89
76
  this.handleValueChange = (event) => {
90
77
  event.stopPropagation();
91
- this.expressionChange.emit(Object.assign(Object.assign({}, this.expression), { value: event.detail }));
78
+ this.expressionChange.emit(Object.assign(Object.assign({}, this.expression), { exp: event.detail }));
92
79
  };
93
80
  this.removeExpression = () => {
94
- this.expressionChange.emit({ filter_type: '' });
81
+ this.expressionChange.emit(undefined);
95
82
  };
96
83
  }
97
84
  render() {
98
- return (h("div", { key: '618150e84e87cdc234b5eab7cd0ef6443bcb261c', class: "expression" }, this.label && h("limel-header", { key: '7b9a35794777df5556b591ea54d1e63b64833808', heading: this.label }), h("div", { key: '4367741a9383fc268fcfe6dbcc14bea49f20871b', class: "expression-container" }, this.renderPropertySelector(), this.renderOperator(), this.renderValueInput(), h("limel-icon-button", { key: '3ad667258da994636f484c0f7a5649b1e13b063b', class: "remove", icon: "trash", label: "Remove condition", onClick: this.removeExpression }))));
85
+ return (h("div", { key: '668e0f05bdb1fb25ffd652ea650c34e5431a3332', class: "expression" }, this.label && h("limel-header", { key: '5034070b58afe31cf90699dd2a27f884e647f540', heading: this.label }), h("div", { key: '14a2b1270e5e6d7e158e29ebc5f61051e5670e80', class: "expression-container" }, this.renderPropertySelector(), this.renderOperator(), this.renderValueInput(), h("limel-icon-button", { key: 'b69bde6e88c40d2623ef015794db28cec3676c73', class: "remove", icon: "trash", label: "Remove condition", onClick: this.removeExpression }))));
99
86
  }
100
87
  renderPropertySelector() {
101
- return (h("limebb-property-selector", { platform: this.platform, context: this.context, label: "Property", limetype: this.limetype, value: this.expression.property, required: true, onChange: this.handlePropertyChange }));
88
+ return (h("limebb-property-selector", { platform: this.platform, context: this.context, label: "Property", limetype: this.limetype, value: this.expression.key, required: true, onChange: this.handlePropertyChange }));
102
89
  }
103
90
  renderOperator() {
104
- const operatorHasBeenSet = !!this.expression.operator;
91
+ const operatorHasBeenSet = !!this.expression.op;
105
92
  const options = LIME_QUERY_OPERATORS.map((op) => ({
106
93
  text: op.label,
107
94
  value: op.value,
108
95
  icon: op.icon ? { name: op.icon } : undefined,
109
96
  }));
110
- const selectedOption = options.find((o) => o.value === this.expression.operator);
111
- return (h("limel-select", { class: "operator", label: "Operator", value: selectedOption, options: options, disabled: !operatorHasBeenSet && !this.expression.property, onChange: this.handleOperatorChange }));
97
+ const selectedOption = options.find((o) => o.value === this.expression.op);
98
+ return (h("limel-select", { class: "operator", label: "Operator", value: selectedOption, options: options, disabled: !operatorHasBeenSet && !this.expression.key, onChange: this.handleOperatorChange }));
112
99
  }
113
100
  renderValueInput() {
114
- if (!this.expression.operator) {
101
+ if (!this.expression.op) {
115
102
  return null;
116
103
  }
117
- return (h("limebb-lime-query-value-input", { platform: this.platform, context: this.context, limetype: this.limetype, activeLimetype: this.activeLimetype, propertyPath: this.expression.property, operator: this.expression.operator, value: this.expression.value, onChange: this.handleValueChange }));
104
+ return (h("limebb-lime-query-value-input", { platform: this.platform, context: this.context, limetype: this.limetype, activeLimetype: this.activeLimetype, propertyPath: this.expression.key, operator: this.expression.op, value: this.expression.exp, onChange: this.handleValueChange }));
118
105
  }
119
106
  static get style() { return LimebbLimeQueryFilterComparisonStyle0; }
120
107
  }, [1, "limebb-lime-query-filter-comparison", {
@@ -149,4 +136,4 @@ function defineCustomElement() {
149
136
  } });
150
137
  }
151
138
 
152
- export { LIME_QUERY_OPERATORS as L, LimeQueryFilterComparisonComponent as a, defineCustomElement as d };
139
+ export { LimeQueryFilterComparisonComponent as L, defineCustomElement as d };