@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
@@ -0,0 +1,266 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+ import { T as Te } from './index.esm.js';
3
+ import { a as getPropertyFromPath, d as defineCustomElement$1 } from './property-selector.js';
4
+
5
+ const limeQueryValueInputCss = ":host{display:block}.value-input-container{display:flex;flex-direction:row;align-items:flex-start;gap:0.5rem;width:100%}.mode-toggle{flex-shrink:0;margin-top:0.5rem;opacity:0.7;transition:opacity 0.2s ease}.mode-toggle:hover{opacity:1}.placeholder-input{flex-grow:1;display:flex;flex-direction:column;gap:0.5rem}.placeholder-preview{display:flex;align-items:center;gap:0.5rem;padding:0.5rem;background-color:rgba(var(--color-blue-light), 0.1);border-radius:var(--border-radius-small);font-size:0.875rem;color:rgb(var(--color-blue-default));border-left:3px solid rgb(var(--color-blue-default))}.placeholder-preview limel-icon{flex-shrink:0;color:rgb(var(--color-blue-default))}.placeholder-preview span{font-family:var(--font-monospace);word-break:break-all}";
6
+ const LimebbLimeQueryValueInputStyle0 = limeQueryValueInputCss;
7
+
8
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
9
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
10
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
11
+ r = Reflect.decorate(decorators, target, key, desc);
12
+ else
13
+ for (var i = decorators.length - 1; i >= 0; i--)
14
+ if (d = decorators[i])
15
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
17
+ };
18
+ const LimeQueryValueInput = /*@__PURE__*/ proxyCustomElement(class LimeQueryValueInput extends HTMLElement {
19
+ constructor() {
20
+ super();
21
+ this.__registerHost();
22
+ this.__attachShadow();
23
+ this.change = createEvent(this, "change", 7);
24
+ /**
25
+ * Optional label for the input
26
+ */
27
+ this.label = 'Value';
28
+ this.inputMode = 'value';
29
+ this.handleTextChange = (event) => {
30
+ event.stopPropagation();
31
+ // Try to parse as number for number inputs
32
+ const value = event.detail;
33
+ const numValue = Number(value);
34
+ if (!Number.isNaN(numValue) && value !== '') {
35
+ this.change.emit(numValue);
36
+ }
37
+ else {
38
+ this.change.emit(value);
39
+ }
40
+ };
41
+ this.handleSelectChange = (event) => {
42
+ event.stopPropagation();
43
+ const detail = event.detail;
44
+ if (Array.isArray(detail)) {
45
+ this.change.emit(detail.map((o) => o.value));
46
+ }
47
+ else {
48
+ this.change.emit(detail === null || detail === void 0 ? void 0 : detail.value);
49
+ }
50
+ };
51
+ this.handleBooleanChange = (event) => {
52
+ event.stopPropagation();
53
+ const detail = event.detail;
54
+ if (!Array.isArray(detail)) {
55
+ // Convert string back to boolean
56
+ this.change.emit((detail === null || detail === void 0 ? void 0 : detail.value) === 'true');
57
+ }
58
+ };
59
+ this.handleDateChange = (event) => {
60
+ event.stopPropagation();
61
+ // Convert Date to ISO string for storage
62
+ const date = event.detail;
63
+ this.change.emit(date ? date.toISOString() : null);
64
+ };
65
+ this.handleMultiValueChange = (event) => {
66
+ event.stopPropagation();
67
+ // Split by comma and trim whitespace
68
+ const values = event.detail
69
+ .split(',')
70
+ .map((v) => v.trim())
71
+ .filter((v) => v.length > 0);
72
+ this.change.emit(values);
73
+ };
74
+ this.handleModeToggle = () => {
75
+ if (this.inputMode === 'value') {
76
+ // Switching to placeholder mode
77
+ this.inputMode = 'placeholder';
78
+ // Emit placeholder value (empty initially)
79
+ this.change.emit('%activeObject%');
80
+ }
81
+ else {
82
+ // Switching to value mode
83
+ this.inputMode = 'value';
84
+ // Emit empty value
85
+ this.change.emit('');
86
+ }
87
+ };
88
+ this.handlePlaceholderPropertyChange = (event) => {
89
+ event.stopPropagation();
90
+ const propertyPath = event.detail;
91
+ const placeholderValue = this.buildPlaceholderValue(propertyPath);
92
+ this.change.emit(placeholderValue);
93
+ };
94
+ }
95
+ componentWillLoad() {
96
+ // Detect if the current value is a placeholder
97
+ if (this.isPlaceholder(this.value)) {
98
+ this.inputMode = 'placeholder';
99
+ }
100
+ }
101
+ componentWillUpdate() {
102
+ // Update mode if value changes externally
103
+ if (this.isPlaceholder(this.value) &&
104
+ this.inputMode !== 'placeholder') {
105
+ this.inputMode = 'placeholder';
106
+ }
107
+ else if (!this.isPlaceholder(this.value) &&
108
+ this.inputMode === 'placeholder') {
109
+ this.inputMode = 'value';
110
+ }
111
+ }
112
+ isPlaceholder(value) {
113
+ return typeof value === 'string' && value.startsWith('%activeObject%');
114
+ }
115
+ parsePlaceholderPath(value) {
116
+ if (!this.isPlaceholder(value)) {
117
+ return '';
118
+ }
119
+ // Extract path after %activeObject%. (e.g., "%activeObject%.company.name" → "company.name")
120
+ return value.replace(/^%activeObject%\.?/, '');
121
+ }
122
+ buildPlaceholderValue(propertyPath) {
123
+ if (!propertyPath) {
124
+ return '%activeObject%';
125
+ }
126
+ return `%activeObject%.${propertyPath}`;
127
+ }
128
+ render() {
129
+ if (!this.operator) {
130
+ return null;
131
+ }
132
+ return (h("div", { class: "value-input-container" }, this.renderModeToggle(), this.inputMode === 'placeholder'
133
+ ? this.renderPlaceholderInput()
134
+ : this.renderValueInputByType()));
135
+ }
136
+ renderModeToggle() {
137
+ // Only show toggle if activeLimetype is set
138
+ if (!this.activeLimetype) {
139
+ return null;
140
+ }
141
+ const isPlaceholderMode = this.inputMode === 'placeholder';
142
+ const buttonLabel = isPlaceholderMode ? 'Use Value' : 'Use Placeholder';
143
+ const buttonIcon = isPlaceholderMode ? 'text' : 'link';
144
+ return (h("limel-icon-button", { class: "mode-toggle", icon: buttonIcon, label: buttonLabel, onClick: this.handleModeToggle }));
145
+ }
146
+ renderPlaceholderInput() {
147
+ const propertyPath = this.parsePlaceholderPath(this.value);
148
+ return (h("div", { class: "placeholder-input" }, h("limebb-property-selector", { platform: this.platform, context: this.context, limetype: this.activeLimetype, label: "Active Object Property", value: propertyPath, required: false, helperText: "Select property from the active object", onChange: this.handlePlaceholderPropertyChange }), this.isPlaceholder(this.value) && (h("div", { class: "placeholder-preview" }, h("limel-icon", { name: "info", size: "small" }), h("span", null, "Placeholder: ", this.value)))));
149
+ }
150
+ renderValueInputByType() {
151
+ // Special handling for IN operator - always use chip set for arrays
152
+ if (this.operator === 'IN') {
153
+ return this.renderMultiValueInput();
154
+ }
155
+ const property = this.getProperty();
156
+ if (!property) {
157
+ return this.renderTextInput();
158
+ }
159
+ switch (property.type) {
160
+ case 'integer':
161
+ case 'decimal': {
162
+ return this.renderNumberInput(property.type);
163
+ }
164
+ case 'yesno': {
165
+ return this.renderBooleanInput();
166
+ }
167
+ case 'option': {
168
+ return this.renderOptionInput(property);
169
+ }
170
+ case 'date': {
171
+ return this.renderDateInput();
172
+ }
173
+ case 'time': {
174
+ return this.renderTimeInput();
175
+ }
176
+ default: {
177
+ return this.renderTextInput();
178
+ }
179
+ }
180
+ }
181
+ renderTextInput() {
182
+ var _a;
183
+ return (h("limel-input-field", { label: this.label, value: ((_a = this.value) === null || _a === void 0 ? void 0 : _a.toString()) || '', placeholder: "Enter value", onChange: this.handleTextChange }));
184
+ }
185
+ renderNumberInput(type) {
186
+ var _a;
187
+ const step = type === 'integer' ? 1 : 0.01;
188
+ return (h("limel-input-field", { label: this.label, type: "number", value: ((_a = this.value) === null || _a === void 0 ? void 0 : _a.toString()) || '', step: step, onChange: this.handleTextChange }));
189
+ }
190
+ renderBooleanInput() {
191
+ const options = [
192
+ { text: 'True', value: 'true' },
193
+ { text: 'False', value: 'false' },
194
+ ];
195
+ const valueAsString = this.value === true || this.value === 'true' ? 'true' : 'false';
196
+ const selectedOption = options.find((o) => o.value === valueAsString);
197
+ return (h("limel-select", { label: this.label, options: options, value: selectedOption, onChange: this.handleBooleanChange }));
198
+ }
199
+ renderOptionInput(property) {
200
+ if (!property.options || property.options.length === 0) {
201
+ return this.renderTextInput();
202
+ }
203
+ const options = property.options.map((opt) => ({
204
+ text: opt.text || opt.key,
205
+ value: opt.key,
206
+ }));
207
+ const selectedOption = options.find((o) => o.value === this.value);
208
+ return (h("limel-select", { label: this.label, options: options, value: selectedOption, onChange: this.handleSelectChange }));
209
+ }
210
+ renderDateInput() {
211
+ // Convert string to Date if needed
212
+ const dateValue = typeof this.value === 'string' ? new Date(this.value) : this.value;
213
+ return (h("limel-date-picker", { label: this.label, value: dateValue, onChange: this.handleDateChange }));
214
+ }
215
+ renderTimeInput() {
216
+ return (h("limel-input-field", { label: this.label, type: "time", value: this.value || '', onChange: this.handleTextChange }));
217
+ }
218
+ renderMultiValueInput() {
219
+ // For IN operator, allow comma-separated values
220
+ const displayValue = Array.isArray(this.value)
221
+ ? this.value.join(', ')
222
+ : this.value || '';
223
+ return (h("limel-input-field", { label: this.label + ' (comma-separated)', value: displayValue, placeholder: "e.g., won, lost, tender", onChange: this.handleMultiValueChange }));
224
+ }
225
+ getProperty() {
226
+ if (!this.limetypes || !this.limetype || !this.propertyPath) {
227
+ return;
228
+ }
229
+ return getPropertyFromPath(this.limetypes, this.limetype, this.propertyPath);
230
+ }
231
+ static get style() { return LimebbLimeQueryValueInputStyle0; }
232
+ }, [1, "limebb-lime-query-value-input", {
233
+ "platform": [16],
234
+ "context": [16],
235
+ "limetype": [1],
236
+ "activeLimetype": [1, "active-limetype"],
237
+ "propertyPath": [1, "property-path"],
238
+ "operator": [1],
239
+ "value": [8],
240
+ "label": [1],
241
+ "limetypes": [32],
242
+ "inputMode": [32]
243
+ }]);
244
+ __decorate([
245
+ Te()
246
+ ], LimeQueryValueInput.prototype, "limetypes", void 0);
247
+ function defineCustomElement() {
248
+ if (typeof customElements === "undefined") {
249
+ return;
250
+ }
251
+ const components = ["limebb-lime-query-value-input", "limebb-property-selector"];
252
+ components.forEach(tagName => { switch (tagName) {
253
+ case "limebb-lime-query-value-input":
254
+ if (!customElements.get(tagName)) {
255
+ customElements.define(tagName, LimeQueryValueInput);
256
+ }
257
+ break;
258
+ case "limebb-property-selector":
259
+ if (!customElements.get(tagName)) {
260
+ defineCustomElement$1();
261
+ }
262
+ break;
263
+ } });
264
+ }
265
+
266
+ export { LimeQueryValueInput as L, defineCustomElement as d };