@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,249 @@
1
+ import { h } from "@stencil/core";
2
+ import { propertySelectionToItems, itemsToPropertySelection, } from "./property-selection-format";
3
+ /**
4
+ * Response Format Editor Component
5
+ *
6
+ * Allows users to select which properties should be returned in the query response.
7
+ * Supports selecting properties on both the main limetype and related limetypes
8
+ * through belongsto relations.
9
+ *
10
+ * Features:
11
+ * - **Property selection**: Choose properties using dropdown navigation
12
+ * - **Nested properties**: Select properties on related objects (e.g., company.name)
13
+ * - **Property aliases**: Optionally rename properties in the response
14
+ * - **Dynamic list**: Add/remove property selections
15
+ * - **Real-time updates**: Changes immediately update the responseFormat
16
+ *
17
+ * The component generates a `ResponseFormat` object with the `object` field
18
+ * containing the selected properties.
19
+ *
20
+ * @private
21
+ */
22
+ export class ResponseFormatEditor {
23
+ constructor() {
24
+ /**
25
+ * Optional label
26
+ */
27
+ this.label = 'Select Properties to Return';
28
+ this.items = [{ path: '_id' }];
29
+ this.handleItemChange = (index) => (event) => {
30
+ event.stopPropagation();
31
+ const newItems = [...this.items];
32
+ if (event.detail === null) {
33
+ // Remove item
34
+ newItems.splice(index, 1);
35
+ }
36
+ else {
37
+ // Update item
38
+ newItems[index] = event.detail;
39
+ }
40
+ // Ensure we always have at least _id
41
+ if (newItems.length === 0) {
42
+ newItems.push({ path: '_id' });
43
+ }
44
+ this.items = newItems;
45
+ this.emitChange();
46
+ };
47
+ this.handleAddProperty = () => {
48
+ this.items = [...this.items, { path: '' }];
49
+ this.emitChange();
50
+ };
51
+ }
52
+ componentWillLoad() {
53
+ var _a;
54
+ if ((_a = this.value) === null || _a === void 0 ? void 0 : _a.object) {
55
+ const converted = propertySelectionToItems(this.value.object);
56
+ if (converted.length > 0) {
57
+ this.items = converted;
58
+ }
59
+ }
60
+ }
61
+ componentWillUpdate() {
62
+ var _a;
63
+ if ((_a = this.value) === null || _a === void 0 ? void 0 : _a.object) {
64
+ const currentItems = propertySelectionToItems(this.value.object);
65
+ // Check if items have changed
66
+ const itemsChanged = currentItems.length !== this.items.length ||
67
+ !currentItems.every((item, index) => {
68
+ const current = this.items[index];
69
+ return (current &&
70
+ item.path === current.path &&
71
+ item.alias === current.alias &&
72
+ item.description === current.description);
73
+ });
74
+ if (itemsChanged) {
75
+ this.items =
76
+ currentItems.length > 0 ? currentItems : [{ path: '_id' }];
77
+ }
78
+ }
79
+ }
80
+ render() {
81
+ if (!this.limetype) {
82
+ return (h("div", { class: "empty-state" }, h("p", null, "Select a limetype to choose properties")));
83
+ }
84
+ return (h("div", { class: "response-format-editor" }, h("div", { class: "header" }, h("h4", null, this.label)), h("div", { class: "property-list" }, this.items.map((item, index) => this.renderItem(item, index))), h("div", { class: "actions" }, h("limel-button", { label: "Add Property", icon: "plus_math", onClick: this.handleAddProperty })), h("div", { class: "summary" }, h("span", { class: "count" }, this.items.length, ' ', this.items.length === 1 ? 'property' : 'properties', ' ', "selected"))));
85
+ }
86
+ renderItem(item, index) {
87
+ return (h("limebb-response-format-item", { key: `${item.path}-${index}`, class: "property-item", platform: this.platform, context: this.context, limetype: this.limetype, item: item, onItemChange: this.handleItemChange(index) }));
88
+ }
89
+ emitChange() {
90
+ const propertySelection = itemsToPropertySelection(this.items);
91
+ const responseFormat = {
92
+ object: propertySelection,
93
+ };
94
+ this.change.emit(responseFormat);
95
+ }
96
+ static get is() { return "limebb-response-format-editor"; }
97
+ static get encapsulation() { return "shadow"; }
98
+ static get originalStyleUrls() {
99
+ return {
100
+ "$": ["response-format-editor.scss"]
101
+ };
102
+ }
103
+ static get styleUrls() {
104
+ return {
105
+ "$": ["response-format-editor.css"]
106
+ };
107
+ }
108
+ static get properties() {
109
+ return {
110
+ "platform": {
111
+ "type": "unknown",
112
+ "mutable": false,
113
+ "complexType": {
114
+ "original": "LimeWebComponentPlatform",
115
+ "resolved": "LimeWebComponentPlatform",
116
+ "references": {
117
+ "LimeWebComponentPlatform": {
118
+ "location": "import",
119
+ "path": "@limetech/lime-web-components",
120
+ "id": "node_modules::LimeWebComponentPlatform"
121
+ }
122
+ }
123
+ },
124
+ "required": false,
125
+ "optional": false,
126
+ "docs": {
127
+ "tags": [],
128
+ "text": "Platform service provider"
129
+ },
130
+ "getter": false,
131
+ "setter": false
132
+ },
133
+ "context": {
134
+ "type": "unknown",
135
+ "mutable": false,
136
+ "complexType": {
137
+ "original": "LimeWebComponentContext",
138
+ "resolved": "LimeWebComponentContext",
139
+ "references": {
140
+ "LimeWebComponentContext": {
141
+ "location": "import",
142
+ "path": "@limetech/lime-web-components",
143
+ "id": "node_modules::LimeWebComponentContext"
144
+ }
145
+ }
146
+ },
147
+ "required": false,
148
+ "optional": false,
149
+ "docs": {
150
+ "tags": [],
151
+ "text": "Component context"
152
+ },
153
+ "getter": false,
154
+ "setter": false
155
+ },
156
+ "limetype": {
157
+ "type": "string",
158
+ "mutable": false,
159
+ "complexType": {
160
+ "original": "string",
161
+ "resolved": "string",
162
+ "references": {}
163
+ },
164
+ "required": false,
165
+ "optional": false,
166
+ "docs": {
167
+ "tags": [],
168
+ "text": "The limetype to select properties from"
169
+ },
170
+ "getter": false,
171
+ "setter": false,
172
+ "attribute": "limetype",
173
+ "reflect": false
174
+ },
175
+ "value": {
176
+ "type": "unknown",
177
+ "mutable": false,
178
+ "complexType": {
179
+ "original": "ResponseFormat",
180
+ "resolved": "ResponseFormat",
181
+ "references": {
182
+ "ResponseFormat": {
183
+ "location": "import",
184
+ "path": "./lime-query.types",
185
+ "id": "src/components/lime-query-builder/lime-query.types.ts::ResponseFormat"
186
+ }
187
+ }
188
+ },
189
+ "required": false,
190
+ "optional": false,
191
+ "docs": {
192
+ "tags": [],
193
+ "text": "Current response format"
194
+ },
195
+ "getter": false,
196
+ "setter": false
197
+ },
198
+ "label": {
199
+ "type": "string",
200
+ "mutable": false,
201
+ "complexType": {
202
+ "original": "string",
203
+ "resolved": "string",
204
+ "references": {}
205
+ },
206
+ "required": false,
207
+ "optional": false,
208
+ "docs": {
209
+ "tags": [],
210
+ "text": "Optional label"
211
+ },
212
+ "getter": false,
213
+ "setter": false,
214
+ "attribute": "label",
215
+ "reflect": false,
216
+ "defaultValue": "'Select Properties to Return'"
217
+ }
218
+ };
219
+ }
220
+ static get states() {
221
+ return {
222
+ "items": {}
223
+ };
224
+ }
225
+ static get events() {
226
+ return [{
227
+ "method": "change",
228
+ "name": "change",
229
+ "bubbles": true,
230
+ "cancelable": true,
231
+ "composed": true,
232
+ "docs": {
233
+ "tags": [],
234
+ "text": "Emitted when the response format changes"
235
+ },
236
+ "complexType": {
237
+ "original": "ResponseFormat",
238
+ "resolved": "ResponseFormat",
239
+ "references": {
240
+ "ResponseFormat": {
241
+ "location": "import",
242
+ "path": "./lime-query.types",
243
+ "id": "src/components/lime-query-builder/lime-query.types.ts::ResponseFormat"
244
+ }
245
+ }
246
+ }
247
+ }];
248
+ }
249
+ }
@@ -0,0 +1,61 @@
1
+ :host(limebb-response-format-item) {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 0.5rem;
5
+ width: 100%;
6
+ }
7
+
8
+ .property-controls {
9
+ display: flex;
10
+ flex-direction: row;
11
+ align-items: flex-start;
12
+ gap: 0.5rem;
13
+ width: 100%;
14
+ }
15
+
16
+ .property-path {
17
+ flex-grow: 1;
18
+ min-width: min(20rem, 100%);
19
+ }
20
+
21
+ .control-buttons {
22
+ flex-shrink: 0;
23
+ display: flex;
24
+ flex-direction: row;
25
+ gap: 0.25rem;
26
+ align-items: center;
27
+ padding-top: 0.5rem;
28
+ }
29
+ .control-buttons limel-icon-button {
30
+ opacity: 0.6;
31
+ transition: opacity 0.2s ease;
32
+ }
33
+ .control-buttons limel-icon-button:hover {
34
+ opacity: 1;
35
+ }
36
+ .control-buttons limel-icon-button.has-value {
37
+ opacity: 1;
38
+ color: rgb(var(--color-blue-default));
39
+ }
40
+
41
+ .alias,
42
+ .description {
43
+ padding-left: 1.5rem;
44
+ width: calc(100% - 1.5rem);
45
+ max-width: 40rem;
46
+ }
47
+
48
+ @media (max-width: 768px) {
49
+ .property-controls {
50
+ flex-direction: column;
51
+ gap: 0.5rem;
52
+ }
53
+ .control-buttons {
54
+ padding-top: 0;
55
+ }
56
+ .alias,
57
+ .description {
58
+ padding-left: 0;
59
+ width: 100%;
60
+ }
61
+ }
@@ -0,0 +1,208 @@
1
+ import { h } from "@stencil/core";
2
+ /**
3
+ * Response Format Property Item Component
4
+ *
5
+ * Represents a single property selection with optional alias and description
6
+ * Part of the response format editor
7
+ * @private
8
+ */
9
+ export class ResponseFormatItem {
10
+ constructor() {
11
+ this.showAliasInput = false;
12
+ this.showDescriptionInput = false;
13
+ this.handlePathChange = (event) => {
14
+ event.stopPropagation();
15
+ this.itemChange.emit(Object.assign(Object.assign({}, this.item), { path: event.detail }));
16
+ };
17
+ this.toggleAliasInput = () => {
18
+ this.showAliasInput = !this.showAliasInput;
19
+ };
20
+ this.toggleDescriptionInput = () => {
21
+ this.showDescriptionInput = !this.showDescriptionInput;
22
+ };
23
+ this.handleAliasChange = (event) => {
24
+ event.stopPropagation();
25
+ const alias = event.detail;
26
+ this.itemChange.emit(Object.assign(Object.assign({}, this.item), { alias: alias || undefined }));
27
+ };
28
+ this.handleDescriptionChange = (event) => {
29
+ event.stopPropagation();
30
+ const description = event.detail;
31
+ this.itemChange.emit(Object.assign(Object.assign({}, this.item), { description: description || undefined }));
32
+ };
33
+ this.handleAliasBlur = () => {
34
+ if (this.item.alias) {
35
+ const trimmed = this.item.alias.trim();
36
+ if (trimmed !== this.item.alias) {
37
+ this.itemChange.emit(Object.assign(Object.assign({}, this.item), { alias: trimmed || undefined }));
38
+ }
39
+ }
40
+ };
41
+ this.handleDescriptionBlur = () => {
42
+ if (this.item.description) {
43
+ const trimmed = this.item.description.trim();
44
+ if (trimmed !== this.item.description) {
45
+ this.itemChange.emit(Object.assign(Object.assign({}, this.item), { description: trimmed || undefined }));
46
+ }
47
+ }
48
+ };
49
+ this.handleRemove = () => {
50
+ this.itemChange.emit(null);
51
+ };
52
+ }
53
+ componentWillLoad() {
54
+ // Initialize visibility based on whether fields have values
55
+ this.showAliasInput = !!this.item.alias;
56
+ this.showDescriptionInput = !!this.item.description;
57
+ }
58
+ componentWillUpdate() {
59
+ // Keep inputs visible if they have values
60
+ if (this.item.alias && !this.showAliasInput) {
61
+ this.showAliasInput = true;
62
+ }
63
+ if (this.item.description && !this.showDescriptionInput) {
64
+ this.showDescriptionInput = true;
65
+ }
66
+ }
67
+ render() {
68
+ return [
69
+ h("div", { key: '842362f9a9cfd48420409e53f0a8dc84048e383f', class: "property-controls" }, h("div", { key: '9f1b758ca0a6123e9acdff4ee4e1480b1938bb8b', class: "property-path" }, h("limebb-property-selector", { key: '3f4ca007b7131c94c57af2883638e19657e0a876', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: this.item.path, required: true, onChange: this.handlePathChange })), h("div", { key: 'c0141d13b1af44df29ad6502817330da6fe62283', class: "control-buttons" }, h("limel-icon-button", { key: '24aa415a1a1d91a46a251fb947fe071cd8f6e36f', icon: "add_tag", label: "Add alias", class: this.item.alias ? 'has-value' : '', onClick: this.toggleAliasInput }), h("limel-icon-button", { key: '4fa60916e5e179361c9fa6ab49fa06ce4c88ca66', icon: "comments", label: "Add description", class: this.item.description ? 'has-value' : '', onClick: this.toggleDescriptionInput }), h("limel-icon-button", { key: '03db71a330ccc905e37ffb9d8375bb6b774812b9', icon: "trash", label: "Remove property", onClick: this.handleRemove }))),
70
+ this.showAliasInput && (h("div", { key: 'bebaa718fd408dfdcce2f4cfe479e1b56325df86', class: "alias" }, h("limel-input-field", { key: '2a7c1e65558ef4f4892f854da04d7e083847defd', label: "Alias", value: this.item.alias || '', placeholder: "Custom property name...", onChange: this.handleAliasChange, onBlur: this.handleAliasBlur }))),
71
+ this.showDescriptionInput && (h("div", { key: 'b32b9b5006a9a48e44f5725f070f9bd376c8b15f', class: "description" }, h("limel-input-field", { key: '98f63d70cc77c68cbf535d33210a8d5e0c15cf72', label: "Description", value: this.item.description || '', placeholder: "Describe this property for AI...", onChange: this.handleDescriptionChange, onBlur: this.handleDescriptionBlur }))),
72
+ ];
73
+ }
74
+ static get is() { return "limebb-response-format-item"; }
75
+ static get encapsulation() { return "shadow"; }
76
+ static get originalStyleUrls() {
77
+ return {
78
+ "$": ["response-format-item.scss"]
79
+ };
80
+ }
81
+ static get styleUrls() {
82
+ return {
83
+ "$": ["response-format-item.css"]
84
+ };
85
+ }
86
+ static get properties() {
87
+ return {
88
+ "platform": {
89
+ "type": "unknown",
90
+ "mutable": false,
91
+ "complexType": {
92
+ "original": "LimeWebComponentPlatform",
93
+ "resolved": "LimeWebComponentPlatform",
94
+ "references": {
95
+ "LimeWebComponentPlatform": {
96
+ "location": "import",
97
+ "path": "@limetech/lime-web-components",
98
+ "id": "node_modules::LimeWebComponentPlatform"
99
+ }
100
+ }
101
+ },
102
+ "required": false,
103
+ "optional": false,
104
+ "docs": {
105
+ "tags": [],
106
+ "text": "Platform service provider"
107
+ },
108
+ "getter": false,
109
+ "setter": false
110
+ },
111
+ "context": {
112
+ "type": "unknown",
113
+ "mutable": false,
114
+ "complexType": {
115
+ "original": "LimeWebComponentContext",
116
+ "resolved": "LimeWebComponentContext",
117
+ "references": {
118
+ "LimeWebComponentContext": {
119
+ "location": "import",
120
+ "path": "@limetech/lime-web-components",
121
+ "id": "node_modules::LimeWebComponentContext"
122
+ }
123
+ }
124
+ },
125
+ "required": false,
126
+ "optional": false,
127
+ "docs": {
128
+ "tags": [],
129
+ "text": "Component context"
130
+ },
131
+ "getter": false,
132
+ "setter": false
133
+ },
134
+ "limetype": {
135
+ "type": "string",
136
+ "mutable": false,
137
+ "complexType": {
138
+ "original": "string",
139
+ "resolved": "string",
140
+ "references": {}
141
+ },
142
+ "required": false,
143
+ "optional": false,
144
+ "docs": {
145
+ "tags": [],
146
+ "text": "The limetype to select properties from"
147
+ },
148
+ "getter": false,
149
+ "setter": false,
150
+ "attribute": "limetype",
151
+ "reflect": false
152
+ },
153
+ "item": {
154
+ "type": "unknown",
155
+ "mutable": false,
156
+ "complexType": {
157
+ "original": "PropertySelectionItem",
158
+ "resolved": "PropertySelectionItem",
159
+ "references": {
160
+ "PropertySelectionItem": {
161
+ "location": "import",
162
+ "path": "./property-selection-format",
163
+ "id": "src/components/lime-query-builder/property-selection-format.ts::PropertySelectionItem"
164
+ }
165
+ }
166
+ },
167
+ "required": false,
168
+ "optional": false,
169
+ "docs": {
170
+ "tags": [],
171
+ "text": "The property selection item"
172
+ },
173
+ "getter": false,
174
+ "setter": false
175
+ }
176
+ };
177
+ }
178
+ static get states() {
179
+ return {
180
+ "showAliasInput": {},
181
+ "showDescriptionInput": {}
182
+ };
183
+ }
184
+ static get events() {
185
+ return [{
186
+ "method": "itemChange",
187
+ "name": "itemChange",
188
+ "bubbles": true,
189
+ "cancelable": true,
190
+ "composed": true,
191
+ "docs": {
192
+ "tags": [],
193
+ "text": "Emitted when the item changes"
194
+ },
195
+ "complexType": {
196
+ "original": "PropertySelectionItem | null",
197
+ "resolved": "PropertySelectionItem | null",
198
+ "references": {
199
+ "PropertySelectionItem": {
200
+ "location": "import",
201
+ "path": "./property-selection-format",
202
+ "id": "src/components/lime-query-builder/property-selection-format.ts::PropertySelectionItem"
203
+ }
204
+ }
205
+ }
206
+ }];
207
+ }
208
+ }
@@ -5,8 +5,8 @@ import { h } from "@stencil/core";
5
5
  export class LiveDocsInfo {
6
6
  render() {
7
7
  return [
8
- h("div", { key: '4a4d9cfcfb7b37d5f98cef9a5e963b47125188b7', class: "header" }, h("limel-icon", { key: '832c49b5cbd38319e1a36eaff63a41417713d2c3', name: "not_showing_video_frames" }), h("h2", { key: '8e19c71383923d6964df4308fe030e68d69c9e46' }, "Viewing this file type requires ", h("em", { key: '9c5c93d320748dc4ff19c682d4228acca653e5b1' }, "Live Docs"))),
9
- h("p", { key: '157a0f930aba54e52e8c777a90cd3445bf80fa5d' }, h("em", { key: '4db4bc76949be8ef1668e9ce7f416c1a3f66aa44' }, "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: 'cf2e7bb006ab10ca91b60f740919d937e36974b2', target: "_blank", href: "https://www.lime-technologies.com/en/lime-crm/live-docs/" }, "Learn more")),
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")),
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: 'c5fb78e13f1aca2bbb3f51f5c2a1a0958eca0d6e', 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: '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 }));
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: 'd6bb98c3ce4ec1b85c828c9f6d65bd4f4a70885d', id: this.item.id, class: {
59
+ return (h(Host, { key: 'e51a5ebe9c955d43f1025a61a12ca870abb66347', 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: '1f66075e6977c4902925fde4410079ffa8187a37', class: this.getContainerClassList(), style: {
94
+ return (h(Host, { key: 'a99a367379f75613f8f37824fae64d5425e13c92', 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: 'b4e64e40684a3011e74dcfe0ef0969699ffb7a92', 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: 'aa60e3dceadca94ed110ee0136e7faf84c745a26', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
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()));
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: '95ea1573956a1e882a8b4dfbdc865ca9ef3e424d', style: {
121
+ return (h("limel-popover", { key: '838ab57fbd92dd56d10df1e132c3a0f3f2fef58a', style: {
122
122
  '--limebb-summary-popover-timeout': `${this.triggerDelay}ms`,
123
- }, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("div", { key: '33a1b9fcda6fbe6ecb6b1bd40b8b1290b3f74beb', slot: "trigger", tabIndex: 0, onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocus: this.openPopoverWithDelay }, h("slot", { key: '1037bd3b2ad03b28068b8d4831684d97a76b7f90', name: "trigger" }), h("div", { key: '1dc09768c4268f67a1fdfc5e0bb0120342223005', class: "opening-countdown-indicator" })), h("limel-card", { key: '5176b5be802feabbbfd270eb929975d2e833243e', style: {
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: {
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: '50e76815a3d4b04a7ea2bd044586f014a7e24459', 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: 'e2e8685758030513feacce28e6b9a09cadb7f6c7', 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: '101adb63d448656a9acbf43245444f1de399c655', id: this.tooltipId }, label),
17
- h("limel-tooltip", { key: '232baef721c41aefa38ff7074c8ba925124a6a72', elementId: this.tooltipId, label: label, helperLabel: this.helperLabel }),
16
+ h("span", { key: 'e6627acbd791531d8f94ed31b07bc47af748da9d', id: this.tooltipId }, label),
17
+ h("limel-tooltip", { key: 'e7eddf0643b594fce4aa00f8c783c39b815bbc6d', 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: 'ba02d97b3d29f4de9e1457b81c5788c3b5fd527b', 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: '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 }),
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: '295196e1b1e9bf9e45f728341116ef8136a55e0b', class: this.getContainerClassList() }, h("limel-notched-outline", { key: 'aa9743e91c3891b259379c0802e61631ede2b421', 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: '5cf7728d597bd8c70710c13e251791e14fbf0cf6', slot: "content", tabIndex: 0 }, this.renderVisualization())), this.renderHelperLine(), this.renderTooltip()));
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()));
56
56
  }
57
57
  renderVisualization() {
58
58
  if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {
@@ -1,29 +1,4 @@
1
- import { a as isObjectLike, b as baseGetTag, g as getNative, M as Map } from './_Map.js';
2
-
3
- /** `Object#toString` result references. */
4
- var symbolTag = '[object Symbol]';
5
-
6
- /**
7
- * Checks if `value` is classified as a `Symbol` primitive or object.
8
- *
9
- * @static
10
- * @memberOf _
11
- * @since 4.0.0
12
- * @category Lang
13
- * @param {*} value The value to check.
14
- * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
15
- * @example
16
- *
17
- * _.isSymbol(Symbol.iterator);
18
- * // => true
19
- *
20
- * _.isSymbol('abc');
21
- * // => false
22
- */
23
- function isSymbol(value) {
24
- return typeof value == 'symbol' ||
25
- (isObjectLike(value) && baseGetTag(value) == symbolTag);
26
- }
1
+ import { g as getNative, M as Map } from './_Map.js';
27
2
 
28
3
  /**
29
4
  * Performs a
@@ -455,4 +430,4 @@ MapCache.prototype.get = mapCacheGet;
455
430
  MapCache.prototype.has = mapCacheHas;
456
431
  MapCache.prototype.set = mapCacheSet;
457
432
 
458
- export { ListCache as L, MapCache as M, eq as e, isSymbol as i };
433
+ export { ListCache as L, MapCache as M, eq as e };