@limetech/lime-crm-building-blocks 1.139.1 → 1.140.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 (261) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/{filter-condition-icons-HypsDn6x.js → filter-condition-icons-QK5stWj6.js} +142 -0
  3. package/dist/cjs/filter-operators-BTWvpD6A.js +61 -0
  4. package/dist/cjs/index.cjs.js +8 -1
  5. package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
  6. package/dist/cjs/limebb-alert-dialog.cjs.entry.js +1 -1
  7. package/dist/cjs/limebb-browser.cjs.entry.js +2 -2
  8. package/dist/cjs/limebb-chat-icon-list_3.cjs.entry.js +4 -4
  9. package/dist/cjs/limebb-chat-list.cjs.entry.js +1 -1
  10. package/dist/cjs/limebb-color-palette-picker.cjs.entry.js +1 -1
  11. package/dist/cjs/limebb-color-palette-swatches.cjs.entry.js +1 -1
  12. package/dist/cjs/limebb-composer-toolbar.cjs.entry.js +2 -2
  13. package/dist/cjs/limebb-currency-picker.cjs.entry.js +1 -1
  14. package/dist/cjs/limebb-dashboard-widget.cjs.entry.js +1 -1
  15. package/dist/cjs/limebb-date-picker.cjs.entry.js +1 -1
  16. package/dist/cjs/limebb-date-range.cjs.entry.js +1 -1
  17. package/dist/cjs/limebb-document-chips.cjs.entry.js +1 -1
  18. package/dist/cjs/limebb-document-item.cjs.entry.js +2 -2
  19. package/dist/cjs/limebb-document-picker.cjs.entry.js +1 -1
  20. package/dist/cjs/limebb-feed-item-thumbnail-file-info.cjs.entry.js +1 -1
  21. package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +1 -1
  22. package/dist/cjs/limebb-feed.cjs.entry.js +1 -1
  23. package/dist/cjs/{limebb-filter-chip_5.cjs.entry.js → limebb-filter-chip_6.cjs.entry.js} +115 -81
  24. package/dist/cjs/limebb-icon-picker.cjs.entry.js +1 -1
  25. package/dist/cjs/limebb-info-tile-format.cjs.entry.js +1 -1
  26. package/dist/cjs/limebb-info-tile.cjs.entry.js +1 -1
  27. package/dist/cjs/limebb-kanban-group.cjs.entry.js +1 -1
  28. package/dist/cjs/limebb-kanban-item.cjs.entry.js +1 -1
  29. package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +1 -1
  30. package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +7 -24
  31. package/dist/cjs/limebb-lime-query-order-by-editor_2.cjs.entry.js +2 -2
  32. package/dist/cjs/limebb-lime-query-order-by-item.cjs.entry.js +2 -2
  33. package/dist/cjs/limebb-lime-query-response-format-builder.cjs.entry.js +1 -1
  34. package/dist/cjs/limebb-lime-query-response-format-editor_2.cjs.entry.js +1 -1
  35. package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
  36. package/dist/cjs/limebb-locale-picker.cjs.entry.js +1 -1
  37. package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
  38. package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +2 -2
  39. package/dist/cjs/limebb-notification-item.cjs.entry.js +1 -1
  40. package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +2 -2
  41. package/dist/cjs/limebb-rule-chip-popover.cjs.entry.js +1 -1
  42. package/dist/cjs/limebb-rule-editor.cjs.entry.js +1 -1
  43. package/dist/cjs/limebb-rule-gate.cjs.entry.js +1 -1
  44. package/dist/cjs/limebb-text-editor.cjs.entry.js +1 -1
  45. package/dist/cjs/limebb-trend-indicator.cjs.entry.js +1 -1
  46. package/dist/cjs/limebb-value-comparison-editor.cjs.entry.js +37 -35
  47. package/dist/cjs/loader.cjs.js +1 -1
  48. package/dist/collection/collection-manifest.json +1 -0
  49. package/dist/collection/components/alert-dialog/alert-dialog.js +1 -1
  50. package/dist/collection/components/browser/browser.js +2 -2
  51. package/dist/collection/components/chat-list/chat-icon-list/chat-icon-list.js +1 -1
  52. package/dist/collection/components/chat-list/chat-item/chat-item.js +2 -2
  53. package/dist/collection/components/chat-list/chat-list.js +1 -1
  54. package/dist/collection/components/chat-list/typing-indicator/typing-indicator.js +1 -1
  55. package/dist/collection/components/color-palette-picker/color-palette-picker.js +1 -1
  56. package/dist/collection/components/color-palette-picker/color-palette-swatches/color-palette-swatches.js +1 -1
  57. package/dist/collection/components/composer-toolbar/composer-toolbar.js +2 -2
  58. package/dist/collection/components/currency-picker/currency-picker.js +1 -1
  59. package/dist/collection/components/dashboard-widget/dashboard-widget.js +1 -1
  60. package/dist/collection/components/date-picker/date-picker.js +1 -1
  61. package/dist/collection/components/date-range/date-range.js +1 -1
  62. package/dist/collection/components/document-chips/document-chips.js +1 -1
  63. package/dist/collection/components/document-picker/document-item/document-item.js +2 -2
  64. package/dist/collection/components/document-picker/document-picker.js +1 -1
  65. package/dist/collection/components/feed/feed-item/feed-timeline-item.js +1 -1
  66. package/dist/collection/components/feed/feed-item-thumbnail-file-info/feed-item-thumbnail-file-info.js +1 -1
  67. package/dist/collection/components/feed/feed.js +1 -1
  68. package/dist/collection/components/filter-chip/filter-chip.js +2 -2
  69. package/dist/collection/components/filter-chip/filter-condition-icons.js +141 -0
  70. package/dist/collection/components/filter-chip/filter-operators.js +54 -0
  71. package/dist/collection/components/filter-condition-picker/filter-condition-picker.css +7 -0
  72. package/dist/collection/components/filter-condition-picker/filter-condition-picker.js +256 -0
  73. package/dist/collection/components/icon-picker/icon-picker.js +1 -1
  74. package/dist/collection/components/info-tile/format/config/info-tile-format.js +1 -1
  75. package/dist/collection/components/info-tile/info-tile.js +1 -1
  76. package/dist/collection/components/kanban/kanban-group/kanban-group.js +1 -1
  77. package/dist/collection/components/kanban/kanban-item/kanban-item.js +1 -1
  78. package/dist/collection/components/lime-query-builder/expressions/compound-leaf.js +6 -6
  79. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison-editor.js +37 -20
  80. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +8 -25
  81. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js +2 -2
  82. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +1 -1
  83. package/dist/collection/components/lime-query-builder/expressions/lime-query-operators.js +23 -57
  84. package/dist/collection/components/lime-query-builder/lime-query-builder.js +1 -1
  85. package/dist/collection/components/lime-query-builder/lime-query-response-format-builder.js +1 -1
  86. package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +1 -1
  87. package/dist/collection/components/lime-query-builder/order-by/order-by-editor.js +1 -1
  88. package/dist/collection/components/lime-query-builder/order-by/order-by-item.js +2 -2
  89. package/dist/collection/components/lime-query-builder/response-format/response-format-item.js +1 -1
  90. package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
  91. package/dist/collection/components/locale-picker/locale-picker.js +1 -1
  92. package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
  93. package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
  94. package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.js +1 -1
  95. package/dist/collection/components/rule-editor/rule-editor.js +1 -1
  96. package/dist/collection/components/rule-editor/value-comparison-editor/value-comparison-editor.js +62 -36
  97. package/dist/collection/components/rule-gate/rule-gate.js +1 -1
  98. package/dist/collection/components/summary-popover/summary-popover.js +2 -2
  99. package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
  100. package/dist/collection/components/text-editor/text-editor.js +1 -1
  101. package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
  102. package/dist/collection/index.js +1 -0
  103. package/dist/components/chat-icon-list.js +1 -1
  104. package/dist/components/chat-item.js +1 -1
  105. package/dist/components/currency-picker.js +1 -1
  106. package/dist/components/date-picker.js +1 -1
  107. package/dist/components/document-item.js +1 -1
  108. package/dist/components/feed-item-thumbnail-file-info.js +1 -1
  109. package/dist/components/feed-timeline-item.js +1 -1
  110. package/dist/components/filter-chip.js +1 -1
  111. package/dist/components/filter-condition-icons.js +1 -1
  112. package/dist/components/filter-condition-picker.js +1 -0
  113. package/dist/components/filter-operators.js +1 -0
  114. package/dist/components/index.js +1 -1
  115. package/dist/components/kanban-group.js +1 -1
  116. package/dist/components/kanban-item.js +1 -1
  117. package/dist/components/lime-query-filter-builder.js +1 -1
  118. package/dist/components/lime-query-filter-comparison-editor.js +1 -1
  119. package/dist/components/lime-query-filter-comparison.js +1 -1
  120. package/dist/components/lime-query-filter-expression.js +1 -1
  121. package/dist/components/limebb-alert-dialog.js +1 -1
  122. package/dist/components/limebb-browser.js +1 -1
  123. package/dist/components/limebb-chat-list.js +1 -1
  124. package/dist/components/limebb-color-palette-picker.js +1 -1
  125. package/dist/components/limebb-color-palette-swatches.js +1 -1
  126. package/dist/components/limebb-composer-toolbar.js +1 -1
  127. package/dist/components/limebb-dashboard-widget.js +1 -1
  128. package/dist/components/limebb-date-range.js +1 -1
  129. package/dist/components/limebb-document-chips.js +1 -1
  130. package/dist/components/limebb-document-picker.js +1 -1
  131. package/dist/components/limebb-feed.js +1 -1
  132. package/dist/components/limebb-filter-condition-picker.d.ts +11 -0
  133. package/dist/components/limebb-filter-condition-picker.js +1 -0
  134. package/dist/components/limebb-icon-picker.js +1 -1
  135. package/dist/components/limebb-info-tile-format.js +1 -1
  136. package/dist/components/limebb-info-tile.js +1 -1
  137. package/dist/components/limebb-lime-query-builder.js +1 -1
  138. package/dist/components/limebb-lime-query-response-format-builder.js +1 -1
  139. package/dist/components/limebb-locale-picker.js +1 -1
  140. package/dist/components/limebb-mention-group-counter.js +1 -1
  141. package/dist/components/limebb-rule-arg-filter-editor.js +1 -1
  142. package/dist/components/limebb-rule-editor.js +1 -1
  143. package/dist/components/limebb-rule-gate.js +1 -1
  144. package/dist/components/limebb-text-editor.js +1 -1
  145. package/dist/components/limebb-trend-indicator.js +1 -1
  146. package/dist/components/limebb-value-comparison-editor.js +1 -1
  147. package/dist/components/limetype-field.js +1 -1
  148. package/dist/components/live-docs-info.js +1 -1
  149. package/dist/components/notification-item.js +1 -1
  150. package/dist/components/order-by-editor.js +1 -1
  151. package/dist/components/order-by-item.js +1 -1
  152. package/dist/components/percentage-visualizer.js +1 -1
  153. package/dist/components/response-format-item.js +1 -1
  154. package/dist/components/rule-chip-popover.js +1 -1
  155. package/dist/components/summary-popover.js +1 -1
  156. package/dist/components/typing-indicator.js +1 -1
  157. package/dist/esm/{filter-condition-icons-D8CJOcfs.js → filter-condition-icons-C_y3-T4Q.js} +142 -1
  158. package/dist/esm/filter-operators-Lw-ccmxQ.js +57 -0
  159. package/dist/esm/index.js +4 -1
  160. package/dist/esm/lime-crm-building-blocks.js +1 -1
  161. package/dist/esm/limebb-alert-dialog.entry.js +1 -1
  162. package/dist/esm/limebb-browser.entry.js +2 -2
  163. package/dist/esm/limebb-chat-icon-list_3.entry.js +4 -4
  164. package/dist/esm/limebb-chat-list.entry.js +1 -1
  165. package/dist/esm/limebb-color-palette-picker.entry.js +1 -1
  166. package/dist/esm/limebb-color-palette-swatches.entry.js +1 -1
  167. package/dist/esm/limebb-composer-toolbar.entry.js +2 -2
  168. package/dist/esm/limebb-currency-picker.entry.js +1 -1
  169. package/dist/esm/limebb-dashboard-widget.entry.js +1 -1
  170. package/dist/esm/limebb-date-picker.entry.js +1 -1
  171. package/dist/esm/limebb-date-range.entry.js +1 -1
  172. package/dist/esm/limebb-document-chips.entry.js +1 -1
  173. package/dist/esm/limebb-document-item.entry.js +2 -2
  174. package/dist/esm/limebb-document-picker.entry.js +1 -1
  175. package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
  176. package/dist/esm/limebb-feed-timeline-item.entry.js +1 -1
  177. package/dist/esm/limebb-feed.entry.js +1 -1
  178. package/dist/esm/{limebb-filter-chip_5.entry.js → limebb-filter-chip_6.entry.js} +115 -82
  179. package/dist/esm/limebb-icon-picker.entry.js +1 -1
  180. package/dist/esm/limebb-info-tile-format.entry.js +1 -1
  181. package/dist/esm/limebb-info-tile.entry.js +1 -1
  182. package/dist/esm/limebb-kanban-group.entry.js +1 -1
  183. package/dist/esm/limebb-kanban-item.entry.js +1 -1
  184. package/dist/esm/limebb-lime-query-builder.entry.js +1 -1
  185. package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +7 -24
  186. package/dist/esm/limebb-lime-query-order-by-editor_2.entry.js +2 -2
  187. package/dist/esm/limebb-lime-query-order-by-item.entry.js +2 -2
  188. package/dist/esm/limebb-lime-query-response-format-builder.entry.js +1 -1
  189. package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +1 -1
  190. package/dist/esm/limebb-live-docs-info.entry.js +2 -2
  191. package/dist/esm/limebb-locale-picker.entry.js +1 -1
  192. package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
  193. package/dist/esm/limebb-navigation-button_2.entry.js +2 -2
  194. package/dist/esm/limebb-notification-item.entry.js +1 -1
  195. package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
  196. package/dist/esm/limebb-rule-chip-popover.entry.js +1 -1
  197. package/dist/esm/limebb-rule-editor.entry.js +1 -1
  198. package/dist/esm/limebb-rule-gate.entry.js +1 -1
  199. package/dist/esm/limebb-text-editor.entry.js +1 -1
  200. package/dist/esm/limebb-trend-indicator.entry.js +1 -1
  201. package/dist/esm/limebb-value-comparison-editor.entry.js +37 -35
  202. package/dist/esm/loader.js +1 -1
  203. package/dist/lime-crm-building-blocks/index.esm.js +1 -1
  204. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  205. package/dist/lime-crm-building-blocks/{p-0579d006.entry.js → p-05a1762a.entry.js} +1 -1
  206. package/dist/lime-crm-building-blocks/{p-e4cef02f.entry.js → p-19dc7242.entry.js} +1 -1
  207. package/dist/lime-crm-building-blocks/{p-96ea4550.entry.js → p-1f97e235.entry.js} +1 -1
  208. package/dist/lime-crm-building-blocks/{p-0f821315.entry.js → p-22e68812.entry.js} +1 -1
  209. package/dist/lime-crm-building-blocks/{p-3fc9866a.entry.js → p-251aca46.entry.js} +1 -1
  210. package/dist/lime-crm-building-blocks/{p-39009b47.entry.js → p-2dab7d4b.entry.js} +1 -1
  211. package/dist/lime-crm-building-blocks/{p-46dc34a6.entry.js → p-3f537135.entry.js} +1 -1
  212. package/dist/lime-crm-building-blocks/{p-f73e3da0.entry.js → p-430e3d11.entry.js} +1 -1
  213. package/dist/lime-crm-building-blocks/{p-817e2952.entry.js → p-43bdd66b.entry.js} +1 -1
  214. package/dist/lime-crm-building-blocks/p-58f18819.entry.js +1 -0
  215. package/dist/lime-crm-building-blocks/{p-302e6e3e.entry.js → p-6fe4c1cd.entry.js} +1 -1
  216. package/dist/lime-crm-building-blocks/{p-bf4b2a91.entry.js → p-7033d408.entry.js} +1 -1
  217. package/dist/lime-crm-building-blocks/{p-fce1a282.entry.js → p-73b71080.entry.js} +1 -1
  218. package/dist/lime-crm-building-blocks/{p-de785fee.entry.js → p-7b6c9cbf.entry.js} +1 -1
  219. package/dist/lime-crm-building-blocks/{p-be5c43bb.entry.js → p-863f456c.entry.js} +1 -1
  220. package/dist/lime-crm-building-blocks/{p-1cd148e2.entry.js → p-896e77b9.entry.js} +1 -1
  221. package/dist/lime-crm-building-blocks/{p-dacd1df3.entry.js → p-8986f27b.entry.js} +1 -1
  222. package/dist/lime-crm-building-blocks/{p-5b1ccfe1.entry.js → p-92bf5318.entry.js} +1 -1
  223. package/dist/lime-crm-building-blocks/{p-fd38bf57.entry.js → p-9452fb56.entry.js} +1 -1
  224. package/dist/lime-crm-building-blocks/{p-41ddbdde.entry.js → p-964b066d.entry.js} +1 -1
  225. package/dist/lime-crm-building-blocks/{p-D8CJOcfs.js → p-C_y3-T4Q.js} +1 -1
  226. package/dist/lime-crm-building-blocks/p-D1RJ1y7s.js +1 -0
  227. package/dist/lime-crm-building-blocks/p-a157233b.entry.js +1 -0
  228. package/dist/lime-crm-building-blocks/{p-13a35953.entry.js → p-a4e676a6.entry.js} +1 -1
  229. package/dist/lime-crm-building-blocks/{p-b0ec4121.entry.js → p-aafead4e.entry.js} +1 -1
  230. package/dist/lime-crm-building-blocks/{p-b7e5a10e.entry.js → p-b34817df.entry.js} +1 -1
  231. package/dist/lime-crm-building-blocks/{p-8d592755.entry.js → p-c0fa239a.entry.js} +1 -1
  232. package/dist/lime-crm-building-blocks/p-c4e2dca5.entry.js +1 -0
  233. package/dist/lime-crm-building-blocks/p-cac2a49f.entry.js +1 -0
  234. package/dist/lime-crm-building-blocks/{p-d95f66c8.entry.js → p-cd7106f7.entry.js} +1 -1
  235. package/dist/lime-crm-building-blocks/{p-bde3e779.entry.js → p-d40f53a5.entry.js} +1 -1
  236. package/dist/lime-crm-building-blocks/{p-e618ccd3.entry.js → p-d78370be.entry.js} +1 -1
  237. package/dist/lime-crm-building-blocks/{p-6cdefdc9.entry.js → p-d7d21bad.entry.js} +1 -1
  238. package/dist/lime-crm-building-blocks/{p-994296b0.entry.js → p-dba6f583.entry.js} +1 -1
  239. package/dist/lime-crm-building-blocks/p-dbbc5ba7.entry.js +1 -0
  240. package/dist/lime-crm-building-blocks/{p-69a3038b.entry.js → p-dec2b87d.entry.js} +1 -1
  241. package/dist/lime-crm-building-blocks/{p-9033acb5.entry.js → p-e242b955.entry.js} +1 -1
  242. package/dist/lime-crm-building-blocks/{p-5bc41701.entry.js → p-e29c27b8.entry.js} +1 -1
  243. package/dist/lime-crm-building-blocks/{p-d7d6d21b.entry.js → p-edeb359f.entry.js} +1 -1
  244. package/dist/lime-crm-building-blocks/{p-bd0a30d7.entry.js → p-f1090436.entry.js} +1 -1
  245. package/dist/lime-crm-building-blocks/{p-0f9a680c.entry.js → p-f3cb68d6.entry.js} +1 -1
  246. package/dist/lime-crm-building-blocks/{p-558915e4.entry.js → p-f4214745.entry.js} +1 -1
  247. package/dist/lime-crm-building-blocks/{p-e2420cde.entry.js → p-fb050628.entry.js} +1 -1
  248. package/dist/types/components/filter-chip/filter-condition-icons.d.ts +8 -0
  249. package/dist/types/components/filter-chip/filter-operators.d.ts +22 -0
  250. package/dist/types/components/filter-condition-picker/filter-condition-picker.d.ts +60 -0
  251. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-comparison-editor.d.ts +8 -4
  252. package/dist/types/components/lime-query-builder/expressions/lime-query-operators.d.ts +16 -9
  253. package/dist/types/components/rule-editor/value-comparison-editor/value-comparison-editor.d.ts +7 -2
  254. package/dist/types/components.d.ts +164 -0
  255. package/dist/types/index.d.ts +1 -0
  256. package/package.json +5 -5
  257. package/dist/lime-crm-building-blocks/p-0843b50b.entry.js +0 -1
  258. package/dist/lime-crm-building-blocks/p-5b819d10.entry.js +0 -1
  259. package/dist/lime-crm-building-blocks/p-7a158104.entry.js +0 -1
  260. package/dist/lime-crm-building-blocks/p-92679e20.entry.js +0 -1
  261. package/dist/lime-crm-building-blocks/p-927e446d.entry.js +0 -1
@@ -3,7 +3,8 @@
3
3
  var index = require('./index-BrWc7h0p.js');
4
4
  var index_esm = require('./index.esm-Se3EtD3m.js');
5
5
  var randomString = require('./random-string-BdZGIsGg.js');
6
- var filterConditionIcons = require('./filter-condition-icons-HypsDn6x.js');
6
+ var filterConditionIcons = require('./filter-condition-icons-QK5stWj6.js');
7
+ var filterOperators = require('./filter-operators-BTWvpD6A.js');
7
8
  var filterGroupLogic = require('./filter-group-logic-BPpM2NqX.js');
8
9
  var propertyResolution = require('./property-resolution-Bz1zPcfq.js');
9
10
  var typeResolution = require('./type-resolution-CvlsQvQD.js');
@@ -90,8 +91,8 @@ const FilterChip = class {
90
91
  const items = this.getDisplayItems();
91
92
  const conjunction = this.getConjunctionText();
92
93
  const helperLabel = this.getHelperLabel(items, conjunction);
93
- return (index.h(index.Host, { key: 'cd41bd4000ec52bba65131fcbdfaddcc57b5a19c' }, this.renderLabel(), index.h("button", { key: 'f9e4ad789d1234b6793215fba49922dfa22ed642', class: { chip: true }, type: "button", id: chipId, "aria-label": [this.label, helperLabel].filter(Boolean).join(', ') ||
94
- this.getFilterLabel(), "aria-pressed": this.getAriaPressed(), onKeyDown: this.handleKeyDown, disabled: this.disabled }, this.renderIcon(), this.renderValue(items, conjunction)), this.renderRemoveButton(chipId), index.h("limel-tooltip", { key: '2039675de876cd689295c4cd16d895da64437091', elementId: chipId, label: this.label || this.getFilterLabel(), helperLabel: helperLabel })));
94
+ return (index.h(index.Host, { key: '291c2a6437491c9a5152b87af18476c2fb2f69bc' }, this.renderLabel(), index.h("button", { key: '8a51d37a3aa1f3b6a49dd15b0f6705fdc4c9ced3', class: { chip: true }, type: "button", id: chipId, "aria-label": [this.label, helperLabel].filter(Boolean).join(', ') ||
95
+ this.getFilterLabel(), "aria-pressed": this.getAriaPressed(), onKeyDown: this.handleKeyDown, disabled: this.disabled }, this.renderIcon(), this.renderValue(items, conjunction)), this.renderRemoveButton(chipId), index.h("limel-tooltip", { key: '522b0a8736e302e074914bf672c350ead53e418b', elementId: chipId, label: this.label || this.getFilterLabel(), helperLabel: helperLabel })));
95
96
  }
96
97
  /**
97
98
  * `aria-pressed` only makes sense for an interactive toggle. A readonly
@@ -293,65 +294,107 @@ const FilterChip = class {
293
294
  };
294
295
  FilterChip.style = filterChipCss();
295
296
 
297
+ const filterConditionPickerCss = () => `:host(limebb-filter-condition-picker){display:inline-block}.condition{--limel-notched-outline-label-color:transparent}`;
298
+
299
+ /**
300
+ * Accessible label for the control: set for screen readers but hidden visually
301
+ * (see the stylesheet). Reuses the shared, localized "Operator" label.
302
+ */
303
+ const LABEL_KEY = 'webclient.operator';
304
+ const FilterConditionPicker = class {
305
+ constructor(hostRef) {
306
+ index.registerInstance(this, hostRef);
307
+ this.change = index.createEvent(this, "change");
308
+ /**
309
+ * Whether the picker is disabled.
310
+ */
311
+ this.disabled = false;
312
+ this.handleChange = (event) => {
313
+ event.stopPropagation();
314
+ if (event.detail) {
315
+ this.change.emit(event.detail.value);
316
+ }
317
+ };
318
+ }
319
+ render() {
320
+ const items = this.buildItems();
321
+ const selected = this.selectedOption(items);
322
+ return (index.h(index.Host, { key: 'ca926963d368460db20fa8961f49825d19ae2c07' }, index.h("limel-select", { key: '5571b580b7da63d1a95fef6cb9b204ed3b32cf75', class: "condition", label: this.accessibleLabel, disabled: this.disabled, options: items, value: selected, onChange: this.handleChange })));
323
+ }
324
+ buildItems() {
325
+ var _a;
326
+ const conditions = (_a = this.conditions) !== null && _a !== void 0 ? _a : filterConditionIcons.getConditionsForPropertyType(this.propertyType);
327
+ // Divider before the empty / not-empty group and before "matches".
328
+ const emptyGroupStart = conditions.findIndex((condition) => condition === 'empty' || condition === 'not-empty');
329
+ const matchesIndex = conditions.indexOf('matches');
330
+ const items = [];
331
+ for (const [index, condition] of conditions.entries()) {
332
+ if (index > 0 &&
333
+ (index === emptyGroupStart || index === matchesIndex)) {
334
+ items.push({ separator: true });
335
+ }
336
+ items.push({
337
+ value: condition,
338
+ text: this.conditionLabel(condition),
339
+ icon: filterConditionIcons.getFilterConditionIcon(condition, this.propertyType),
340
+ });
341
+ }
342
+ return items;
343
+ }
344
+ selectedOption(items) {
345
+ const options = items.filter((item) => !('separator' in item));
346
+ return options.find((option) => option.value === this.value);
347
+ }
348
+ get accessibleLabel() {
349
+ var _a;
350
+ return (_a = this.translate(LABEL_KEY)) !== null && _a !== void 0 ? _a : 'Operator';
351
+ }
352
+ conditionLabel(condition) {
353
+ var _a;
354
+ const key = filterConditionIcons.getFilterConditionLabelKey(condition, this.propertyType);
355
+ return (_a = (key ? this.translate(key) : undefined)) !== null && _a !== void 0 ? _a : condition;
356
+ }
357
+ translate(key) {
358
+ var _a;
359
+ const translated = (_a = this.translator) === null || _a === void 0 ? void 0 : _a.get(key);
360
+ return translated && translated !== key ? translated : undefined;
361
+ }
362
+ get translator() {
363
+ var _a;
364
+ try {
365
+ return (_a = this.platform) === null || _a === void 0 ? void 0 : _a.get(index_esm.n.Translate);
366
+ }
367
+ catch (_b) {
368
+ return;
369
+ }
370
+ }
371
+ };
372
+ FilterConditionPicker.style = filterConditionPickerCss();
373
+
374
+ /**
375
+ * The comparison operators the query builder can author, in the order the
376
+ * condition picker lists them. This is the query builder's capability — which
377
+ * operators it can serialize — not a per-property-type catalog. The
378
+ * operator↔condition translation lives in the shared `filter-operators` helpers.
379
+ */
296
380
  const LIME_QUERY_OPERATORS = [
297
- {
298
- value: index_esm.nt.EQUALS,
299
- label: 'webclient.operator.equals',
300
- icon: '-lime-filter-equal',
301
- },
302
- {
303
- value: index_esm.nt.NOT_EQUALS,
304
- label: 'webclient.operator.not-equals',
305
- icon: '-lime-filter-equal-not',
306
- },
307
- {
308
- value: index_esm.nt.GREATER,
309
- label: 'webclient.operator.greater-than',
310
- icon: '-lime-filter-greater',
311
- applicableTypes: ['integer', 'decimal', 'date', 'time'],
312
- },
313
- {
314
- value: index_esm.nt.GREATER_OR_EQUAL,
315
- label: 'webclient.operator.greater-than-or-equal-to',
316
- icon: '-lime-filter-greater-equal',
317
- applicableTypes: ['integer', 'decimal', 'date', 'time'],
318
- },
319
- {
320
- value: index_esm.nt.LESS,
321
- label: 'webclient.operator.less-than',
322
- icon: '-lime-filter-less',
323
- applicableTypes: ['integer', 'decimal', 'date', 'time'],
324
- },
325
- {
326
- value: index_esm.nt.LESS_OR_EQUAL,
327
- label: 'webclient.operator.less-than-or-equal-to',
328
- icon: '-lime-filter-less-equal',
329
- applicableTypes: ['integer', 'decimal', 'date', 'time'],
330
- },
331
- {
332
- value: index_esm.nt.IN,
333
- label: 'webclient.operator.in-filter',
334
- icon: '-lime-filter-set-included',
335
- },
336
- {
337
- value: index_esm.nt.LIKE,
338
- label: 'webclient.operator.contains',
339
- icon: '-lime-filter-contain',
340
- applicableTypes: ['string', 'text'],
341
- },
342
- {
343
- value: index_esm.nt.BEGINS,
344
- label: 'webclient.operator.begins-with',
345
- icon: '-lime-filter-starts-with',
346
- applicableTypes: ['string', 'text'],
347
- },
348
- {
349
- value: index_esm.nt.ENDS,
350
- label: 'webclient.operator.ends-with',
351
- icon: '-lime-filter-ends-with',
352
- applicableTypes: ['string', 'text'],
353
- },
381
+ index_esm.nt.EQUALS,
382
+ index_esm.nt.NOT_EQUALS,
383
+ index_esm.nt.GREATER,
384
+ index_esm.nt.GREATER_OR_EQUAL,
385
+ index_esm.nt.LESS,
386
+ index_esm.nt.LESS_OR_EQUAL,
387
+ index_esm.nt.IN,
388
+ index_esm.nt.LIKE,
389
+ index_esm.nt.BEGINS,
390
+ index_esm.nt.ENDS,
354
391
  ];
392
+ /**
393
+ * The conditions the query builder offers, in display order — handed to the
394
+ * `limebb-filter-condition-picker` as its `conditions` list. Derived from
395
+ * {@link LIME_QUERY_OPERATORS} so the two never drift.
396
+ */
397
+ const LIME_QUERY_CONDITIONS = filterOperators.operatorsToConditions(LIME_QUERY_OPERATORS);
355
398
 
356
399
  const limeQueryFilterComparisonEditorCss = () => `:host{display:grid;grid-template-columns:3fr 1fr;gap:0.5rem;padding:0.75rem;min-width:30rem;align-items:center}.value{grid-column:1/-1}`;
357
400
 
@@ -363,9 +406,12 @@ const LimeQueryFilterComparisonEditorComponent = class {
363
406
  event.stopPropagation();
364
407
  this.expressionChange.emit(Object.assign(Object.assign({}, this.expression), { key: event.detail }));
365
408
  };
366
- this.handleOperatorChange = (event) => {
409
+ this.handleConditionChange = (event) => {
367
410
  event.stopPropagation();
368
- const newOperator = event.detail.value;
411
+ const newOperator = filterOperators.conditionToOperator(event.detail);
412
+ if (!newOperator) {
413
+ return;
414
+ }
369
415
  const oldOperator = this.expression.op;
370
416
  let convertedValue = this.expression.exp;
371
417
  // IN expects an array; other operators expect a single value.
@@ -397,23 +443,14 @@ const LimeQueryFilterComparisonEditorComponent = class {
397
443
  (_a = this.propertySelectorEl) === null || _a === void 0 ? void 0 : _a.focus();
398
444
  }
399
445
  render() {
400
- return (index.h(index.Host, { key: '05ca2dc867f8c42e2ca1299cd33c0f3faae0ed31' }, this.renderPropertySelector(), this.renderOperator(), this.renderValueInput()));
446
+ return (index.h(index.Host, { key: '528f313843bb6e8e779fc3a5603c10769cbd183b' }, this.renderPropertySelector(), this.renderConditionPicker(), this.renderValueInput()));
401
447
  }
402
448
  renderPropertySelector() {
403
449
  return (index.h("limebb-property-selector", { ref: (el) => (this.propertySelectorEl = el), class: "property", label: "Property", platform: this.platform, context: this.context, limetype: this.limetype, value: this.expression.key, required: true, onChange: this.handlePropertyChange }));
404
450
  }
405
- renderOperator() {
451
+ renderConditionPicker() {
406
452
  const operatorHasBeenSet = !!this.expression.op;
407
- const options = LIME_QUERY_OPERATORS.map((op) => {
408
- var _a, _b;
409
- return ({
410
- text: (_b = (_a = this.translator) === null || _a === void 0 ? void 0 : _a.get(op.label)) !== null && _b !== void 0 ? _b : op.label,
411
- value: op.value,
412
- icon: op.icon ? { name: op.icon } : undefined,
413
- });
414
- });
415
- const selectedOption = options.find((o) => o.value === this.expression.op);
416
- return (index.h("limel-select", { class: "operator", label: "Operator", value: selectedOption, options: options, disabled: !operatorHasBeenSet && !this.expression.key, onChange: this.handleOperatorChange }));
453
+ return (index.h("limebb-filter-condition-picker", { class: "operator", platform: this.platform, propertyType: this.propertyType, conditions: LIME_QUERY_CONDITIONS, value: filterOperators.operatorToCondition(this.expression.op), disabled: !operatorHasBeenSet && !this.expression.key, onChange: this.handleConditionChange }));
417
454
  }
418
455
  renderValueInput() {
419
456
  if (!this.expression.op) {
@@ -421,10 +458,6 @@ const LimeQueryFilterComparisonEditorComponent = class {
421
458
  }
422
459
  return (index.h("limebb-lime-query-value-input", { class: "value", label: "Value", 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 }));
423
460
  }
424
- get translator() {
425
- var _a;
426
- return (_a = this.platform) === null || _a === void 0 ? void 0 : _a.get(index_esm.n.Translate);
427
- }
428
461
  static get delegatesFocus() { return true; }
429
462
  };
430
463
  LimeQueryFilterComparisonEditorComponent.style = limeQueryFilterComparisonEditorCss();
@@ -512,9 +545,9 @@ const LimeQueryFilterGroupComponent = class {
512
545
  const combinator = filterGroupLogic.getCombinator(this.expression);
513
546
  const inner = filterGroupLogic.getInnerAndOr(this.expression);
514
547
  const selected = COMBINATOR_OPTIONS.find((o) => o.value === combinator);
515
- return (index.h(index.Host, { key: 'c94790ff047e47ada5e9142af88bff0c8250e34f', "data-op": combinator, style: {
548
+ return (index.h(index.Host, { key: '6b7013b523d0313f053f5a057db99d23e5c35041', "data-op": combinator, style: {
516
549
  '--limebb-query-filter-group-color-code': OP_STYLE[combinator].color,
517
- } }, index.h("div", { key: '6bc8daa9b292993e2740dbc0a2f1b0a7f2df4722', class: "group" }, index.h("div", { key: '8a171940ef57d657c3638943108e997bb84bde21', class: "group-header" }, index.h("limel-select", { key: '179abcc11b79527f7b8d0863b2e8d81de5bd3267', class: "combinator", label: "Match", value: selected, options: COMBINATOR_OPTIONS, onChange: this.handleCombinatorChange }), index.h("limel-icon-button", { key: '3a604b24ccff02ac257d3440c82dbc33dc9f4f16', class: "delete-group", icon: "trash", label: "Delete this group", onClick: this.handleDeleteGroup })), index.h("ul", { key: 'f65734f8d7cc66886065a511a90108c9316d4d7b', class: "rows" }, inner.exp.map(this.renderChildExpression), index.h("limel-chip", { key: '252726aea61aefead90fc6ce421de9eb74288253', role: "listitem", class: "add-condition", text: "Condition", icon: { name: 'plus_math', title: 'Add' }, onClick: this.handleAddChildExpression })), index.h("limel-chip", { key: '2a5839a10a8b9ebb85f53d867c8870ad92ab0984', class: "add-group", size: "small", text: "Group", icon: {
550
+ } }, index.h("div", { key: '03bea15e4967f91d1e46a961aba64c04b1aff530', class: "group" }, index.h("div", { key: '26ca358c38a27e2fc24ac1b176ce338f885f2a31', class: "group-header" }, index.h("limel-select", { key: '46403ec7c67766ac4eb08b03eaac1eafeb92c0ff', class: "combinator", label: "Match", value: selected, options: COMBINATOR_OPTIONS, onChange: this.handleCombinatorChange }), index.h("limel-icon-button", { key: 'cfdb09d1656dc4a87a40c6d1cf5e5a4e0c2aeba0', class: "delete-group", icon: "trash", label: "Delete this group", onClick: this.handleDeleteGroup })), index.h("ul", { key: '55bb718c9ece64898a41bf95ff301bbeade8a4cd', class: "rows" }, inner.exp.map(this.renderChildExpression), index.h("limel-chip", { key: '34c653a547ce2406938eece661c5d468c84871f3', role: "listitem", class: "add-condition", text: "Condition", icon: { name: 'plus_math', title: 'Add' }, onClick: this.handleAddChildExpression })), index.h("limel-chip", { key: 'b27939aced4774b9b738e81d07a7ed4b040f3b77', class: "add-group", size: "small", text: "Group", icon: {
518
551
  name: 'plus_math',
519
552
  title: 'Add',
520
553
  color: 'var(--group-rail-color)',
@@ -554,7 +587,7 @@ const LimeQueryFilterNotComponent = class {
554
587
  };
555
588
  }
556
589
  render() {
557
- return (index.h("div", { key: '73fa671599ac9f124797567f49af67941dd30e36', class: "expression" }, this.label && index.h("limel-header", { key: '959feb78614f0088b9946ccb492f32900a410ff8', heading: this.label }), index.h("limebb-lime-query-filter-expression", { key: '78ce884774a3831c18ad329fb1eacc4e54cd3623', platform: this.platform, context: this.context, label: "Not", limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression.exp, onExpressionChange: this.handleExpressionChange })));
590
+ return (index.h("div", { key: '38ddcfda3b05cd9bc0c510f55d2712472ee2886f', class: "expression" }, this.label && index.h("limel-header", { key: '5b05cbb7bbd7fb1940c0d7c27b4578f6551833a8', heading: this.label }), index.h("limebb-lime-query-filter-expression", { key: '4057437167e652f31aa02148e511cfe9a9b26ccb', platform: this.platform, context: this.context, label: "Not", limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression.exp, onExpressionChange: this.handleExpressionChange })));
558
591
  }
559
592
  };
560
593
  LimeQueryFilterNotComponent.style = limeQueryFilterNotCss();
@@ -801,6 +834,7 @@ __decorate([
801
834
  LimeQueryValueInput.style = limeQueryValueInputCss();
802
835
 
803
836
  exports.limebb_filter_chip = FilterChip;
837
+ exports.limebb_filter_condition_picker = FilterConditionPicker;
804
838
  exports.limebb_lime_query_filter_comparison_editor = LimeQueryFilterComparisonEditorComponent;
805
839
  exports.limebb_lime_query_filter_group = LimeQueryFilterGroupComponent;
806
840
  exports.limebb_lime_query_filter_not = LimeQueryFilterNotComponent;
@@ -53112,7 +53112,7 @@ const IconPicker = class {
53112
53112
  icon: this.value,
53113
53113
  };
53114
53114
  }
53115
- return (index.h("limel-picker", { key: 'd71d9babaf189723ccb3ece1722826054e109f70', label: this.label, helperText: this.helperText, disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, required: this.required, value: value, searcher: this.search, onChange: this.handleChange, badgeIcons: false, leadingIcon: "search", searchLabel: "Start typing to find the right icon" }));
53115
+ return (index.h("limel-picker", { key: 'bf6b76bbcea838150261e9e0037b1d7ca1ee08d1', label: this.label, helperText: this.helperText, disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, required: this.required, value: value, searcher: this.search, onChange: this.handleChange, badgeIcons: false, leadingIcon: "search", searchLabel: "Start typing to find the right icon" }));
53116
53116
  }
53117
53117
  };
53118
53118
 
@@ -93,7 +93,7 @@ const InfoTileAdminConfig = class {
93
93
  },
94
94
  ];
95
95
  return [
96
- index.h("limel-button-group", { key: '5ec61e22f0049afba77310ef1162c361a71f3290', value: buttons.filter(this.isValidButton), onChange: this.handleChangeType }),
96
+ index.h("limel-button-group", { key: '68999f607fd66a5a451929d6720200734c6505ea', value: buttons.filter(this.isValidButton), onChange: this.handleChangeType }),
97
97
  this.renderFormatConfig(),
98
98
  ];
99
99
  }
@@ -485,7 +485,7 @@ const InfoTile = class {
485
485
  const errorProps = Object.assign(Object.assign({}, baseProps), { icon: 'error', prefix: 'ERROR', loading: true, label: this.getLabel(filter) });
486
486
  const normalProps = Object.assign(Object.assign({}, baseProps), { label: this.getLabel(filter), link: this.getLink(filter), loading: this.loading, value: value === null || value === void 0 ? void 0 : value.value.trim() });
487
487
  const props = !filter || this.error ? errorProps : normalProps;
488
- return (index.h("limel-info-tile", Object.assign({ key: '8ce57413673c0feddc8cff70c66845ddacee5f74', class: { error: !filter || this.error } }, props)));
488
+ return (index.h("limel-info-tile", Object.assign({ key: '802c93fade2b3aff10e53c1a970798b994bff2d2', class: { error: !filter || this.error } }, props)));
489
489
  }
490
490
  /**
491
491
  * Effective `reducedPresence` for this render. The boolean prop
@@ -29,7 +29,7 @@ const KanbanGroup = class {
29
29
  };
30
30
  }
31
31
  render() {
32
- return (index.h(index.Host, { key: '074640215f29d21e8d3f38b81850823e8a93ce3c' }, this.renderHelp(), this.renderGroupHeading(), this.renderGroupSummary(), this.renderItems()));
32
+ return (index.h(index.Host, { key: '5c0675c4edff236ac8b4d90c93d418e3b0c18a9c' }, this.renderHelp(), this.renderGroupHeading(), this.renderGroupSummary(), this.renderItems()));
33
33
  }
34
34
  renderGroupSummary() {
35
35
  if (!this.summary || !this.totalCount) {
@@ -57,7 +57,7 @@ const KanbanItemComponent = class {
57
57
  }
58
58
  render() {
59
59
  var _a, _b;
60
- return (index.h(index.Host, { key: '6eb7fa30141a62e40588a59f17d27392dac78b90', id: this.item.id.toString(), class: {
60
+ return (index.h(index.Host, { key: '282342e6a11234154e4cbcc8df113aafd5cd9cd2', id: this.item.id.toString(), class: {
61
61
  'has-unpromoted-actions': !!((_a = this.item.unpromotedActions) === null || _a === void 0 ? void 0 : _a.length),
62
62
  'is-selected': !!((_b = this.item) === null || _b === void 0 ? void 0 : _b.selected),
63
63
  }, style: {
@@ -151,7 +151,7 @@ const LimeQueryBuilder = class {
151
151
  }
152
152
  }
153
153
  render() {
154
- return (index.h(index.Host, { key: 'fbecd3d9b61ea135192a2dc7a4c1e9c22835331b' }, this.renderHeader(), this.renderContent()));
154
+ return (index.h(index.Host, { key: 'd03160151a6467401424351f0bf7d05211800bf0' }, this.renderHeader(), this.renderContent()));
155
155
  }
156
156
  renderContent() {
157
157
  const visualModeSupported = this.checkVisualModeSupport();
@@ -2,31 +2,13 @@
2
2
 
3
3
  var index = require('./index-BrWc7h0p.js');
4
4
  var index_esm = require('./index.esm-Se3EtD3m.js');
5
+ var filterOperators = require('./filter-operators-BTWvpD6A.js');
5
6
  var propertyResolution = require('./property-resolution-Bz1zPcfq.js');
6
7
  var typeResolution = require('./type-resolution-CvlsQvQD.js');
7
8
  var filterGroupLogic = require('./filter-group-logic-BPpM2NqX.js');
8
9
 
9
10
  const limeQueryFilterComparisonCss = () => `:host(limebb-lime-query-filter-comparison){display:inline-block;max-width:25rem}`;
10
11
 
11
- /**
12
- * Maps each query-builder comparison operator onto the shared, UI-agnostic
13
- * `FilterCondition` vocabulary. The shared `limebb-filter-chip` resolves the
14
- * icon and the wording from the condition (refined by the property type), so
15
- * the query builder shows the same glyphs and operator names as every other
16
- * filter UI.
17
- */
18
- const OPERATOR_TO_CONDITION = {
19
- [index_esm.nt.EQUALS]: 'equals',
20
- [index_esm.nt.NOT_EQUALS]: 'not-equals',
21
- [index_esm.nt.GREATER]: 'greater-than',
22
- [index_esm.nt.GREATER_OR_EQUAL]: 'greater-than-or-equal',
23
- [index_esm.nt.LESS]: 'less-than',
24
- [index_esm.nt.LESS_OR_EQUAL]: 'less-than-or-equal',
25
- [index_esm.nt.IN]: 'in-filter-set',
26
- [index_esm.nt.LIKE]: 'contains',
27
- [index_esm.nt.BEGINS]: 'begins-with',
28
- [index_esm.nt.ENDS]: 'ends-with',
29
- };
30
12
  const LimeQueryFilterComparisonComponent = class {
31
13
  constructor(hostRef) {
32
14
  index.registerInstance(this, hostRef);
@@ -56,13 +38,14 @@ const LimeQueryFilterComparisonComponent = class {
56
38
  var _a, _b;
57
39
  const hasKey = !!((_a = this.expression) === null || _a === void 0 ? void 0 : _a.key);
58
40
  const isList = Array.isArray((_b = this.expression) === null || _b === void 0 ? void 0 : _b.exp);
59
- return (index.h(index.Host, { key: '92e4a7debccbe2123c8fffe7b964ea51c5c1d586' }, this.renderHeader(), index.h("limel-popover", { key: '494afe14c58684826256ad275b16febd81d47d7a', open: this.isOpen, openDirection: "bottom-start", onClose: this.handleClose }, index.h("limebb-filter-chip", { key: '99c495cf63fc9ccc8067f7f0feb6d0d7884d3ca8', slot: "trigger", platform: this.platform, label: hasKey
41
+ const propertyType = hasKey
42
+ ? this.getPropertyType(this.expression.key)
43
+ : undefined;
44
+ return (index.h(index.Host, { key: '3e312a0124577ab70c6ab46074f7a34e0b87decc' }, this.renderHeader(), index.h("limel-popover", { key: '37b5e3b58ef4a20950b1f6fc24075388b4bdc932', open: this.isOpen, openDirection: "bottom-start", onClose: this.handleClose }, index.h("limebb-filter-chip", { key: 'd34fc11734714a8b83ef7c014fd9468522e8ffbf', slot: "trigger", platform: this.platform, label: hasKey
60
45
  ? this.getPropertyLabel(this.expression.key)
61
46
  : undefined, condition: hasKey
62
- ? OPERATOR_TO_CONDITION[this.expression.op]
63
- : undefined, propertyType: hasKey
64
- ? this.getPropertyType(this.expression.key)
65
- : undefined, value: hasKey ? this.chipValue() : 'New condition', conjunction: isList ? 'or' : undefined, selected: this.isOpen, removable: true, onClick: this.handleOpen, onRemove: this.removeExpression }), index.h("limebb-lime-query-filter-comparison-editor", { key: '0d56cccd56078eac4d988d757cae85897b8a48c7', platform: this.platform, context: this.context, limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression, onExpressionChange: this.handleEditorChange }))));
47
+ ? filterOperators.operatorToCondition(this.expression.op)
48
+ : undefined, propertyType: propertyType, value: hasKey ? this.chipValue() : 'New condition', conjunction: isList ? 'or' : undefined, selected: this.isOpen, removable: true, onClick: this.handleOpen, onRemove: this.removeExpression }), index.h("limebb-lime-query-filter-comparison-editor", { key: 'abaa2fbbdf8ab350f1da21412b82405d02f1546f', platform: this.platform, context: this.context, limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression, propertyType: propertyType, onExpressionChange: this.handleEditorChange }))));
66
49
  }
67
50
  getPropertyLabel(key) {
68
51
  return this.resolveProperty(key).labels.join(' › ');
@@ -121,7 +121,7 @@ const OrderByEditor = class {
121
121
  }
122
122
  }
123
123
  render() {
124
- return (index.h(index.Host, { key: 'ce933b9c6df59149fa40d26f7e38bdce89208df0' }, this.renderEmptyState(), this.renderOrderByEditor()));
124
+ return (index.h(index.Host, { key: '5eaad5237f6ccce6d93610bf4987cce10c06abaf' }, this.renderEmptyState(), this.renderOrderByEditor()));
125
125
  }
126
126
  renderEmptyState() {
127
127
  if (this.limetype) {
@@ -251,7 +251,7 @@ const LimetypeField = class {
251
251
  value: '',
252
252
  };
253
253
  options.unshift(emptyOption);
254
- return (index.h("limel-select", { key: '412e4360e37481f5e5e42eb6018a78350bcde4ae', label: this.label, options: options, value: selectedOption, required: this.required, helperText: this.helperText, invalid: invalid, disabled: this.disabled || this.readonly, onChange: this.handleChange }));
254
+ return (index.h("limel-select", { key: '4c17fbdd5760fcb83fef57f7204df42c91f70f7f', label: this.label, options: options, value: selectedOption, required: this.required, helperText: this.helperText, invalid: invalid, disabled: this.disabled || this.readonly, onChange: this.handleChange }));
255
255
  }
256
256
  componentWillRender() {
257
257
  this.updatePropertyFields(this.value || '');
@@ -38,9 +38,9 @@ const OrderByItemComponent = class {
38
38
  render() {
39
39
  const propertyPath = Object.keys(this.item)[0] || '';
40
40
  const direction = this.item[propertyPath] || 'ASC';
41
- return (index.h(index.Host, { key: 'd5d6e8ff87d1afa4d5edbf593455bf43834b29ec' }, index.h("limebb-property-selector", { key: '92ceae9018edf1b6d073645414dd7b8f094a833d', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: propertyPath, required: true, onChange: this.handlePathChange }), index.h("div", { key: 'f2a3eb4b19a8ea762928dfb8e61e47d60204ad53', class: "control-buttons" }, index.h("limel-icon-button", { key: '310fc4eaf3645dd185670409cb83dc4b96d234d4', icon: direction === 'ASC'
41
+ return (index.h(index.Host, { key: 'fc238e47f9189531ac39969dcabfefaa41602a4b' }, index.h("limebb-property-selector", { key: '02ed1accd1f1febc05f300a72734150ef415cad8', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: propertyPath, required: true, onChange: this.handlePathChange }), index.h("div", { key: 'd994587df98e632f12b489b732d3d7436860dac7', class: "control-buttons" }, index.h("limel-icon-button", { key: 'aeca1aceb371f3bf6c392a8e0ce903905d929c33', icon: direction === 'ASC'
42
42
  ? 'sort_ascending'
43
- : 'sort_descending', label: direction === 'ASC' ? 'Ascending' : 'Descending', onClick: this.handleToggleDirection }), index.h("limel-icon-button", { key: 'e4b65c9ad1df1f9ff92bf7079d2871f0958d7b10', icon: "trash", label: "Remove", onClick: this.handleRemove }))));
43
+ : 'sort_descending', label: direction === 'ASC' ? 'Ascending' : 'Descending', onClick: this.handleToggleDirection }), index.h("limel-icon-button", { key: '389a10fe59b9b06e6b9251a8bee5a1a06dbf1961', icon: "trash", label: "Remove", onClick: this.handleRemove }))));
44
44
  }
45
45
  };
46
46
  OrderByItemComponent.style = orderByItemCss();
@@ -193,7 +193,7 @@ const LimeQueryResponseFormatBuilder = class {
193
193
  }
194
194
  render() {
195
195
  const visualModeSupported = this.checkVisualModeSupport();
196
- return (index.h("div", { key: '649472c75a9f8e905a450f90246dda96b5cb1967', class: "response-format-builder" }, this.label && index.h("h1", { key: '23ac72af641ecdc9da2dd8eab87c69c98b1b743c', class: "builder-label" }, this.label), this.helperText && (index.h("p", { key: 'f575c5c0e62f9964f5ac7ac9eaa45eb59e8bf51d', class: "builder-helper-text" }, this.helperText)), this.visualModeEnabled && (index.h("div", { key: 'ac2710467d1f2c1a92fab3366263ea3d56bef5aa', class: "mode-controls" }, this.renderModeSwitch(visualModeSupported))), !this.visualModeEnabled || this.mode === 'code' ? (index.h("div", { class: "code-mode" }, this.renderCodeEditor(visualModeSupported))) : (index.h("div", { class: "visual-mode" }, this.renderVisualMode()))));
196
+ return (index.h("div", { key: 'f8edf793b05904933998d41dff2680737671754b', class: "response-format-builder" }, this.label && index.h("h1", { key: '2e6aaf2a0b9fa285920ba71fdc7ef50a1967948b', class: "builder-label" }, this.label), this.helperText && (index.h("p", { key: '99528513c236f945e8584cb30cc9880eaf049d2d', class: "builder-helper-text" }, this.helperText)), this.visualModeEnabled && (index.h("div", { key: 'afdb567755d27858daab5490bf22b5c349d4fa0e', class: "mode-controls" }, this.renderModeSwitch(visualModeSupported))), !this.visualModeEnabled || this.mode === 'code' ? (index.h("div", { class: "code-mode" }, this.renderCodeEditor(visualModeSupported))) : (index.h("div", { class: "visual-mode" }, this.renderVisualMode()))));
197
197
  }
198
198
  renderModeSwitch(support) {
199
199
  const visualDisabled = !support.visualModeSupported;
@@ -359,7 +359,7 @@ const ResponseFormatItem = class {
359
359
  }
360
360
  render() {
361
361
  return [
362
- index.h("div", { key: '1b848d424ba2e13afe06deb80e3344257fbc44e2', class: "property-controls" }, index.h("div", { key: 'd6b4217961f610f2d4e96cb1c33544e44d4a3a36', class: "property-path" }, index.h("limebb-property-selector", { key: 'ec7e294945d9974ee0d5159c678cc7d94dc082af', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: this.item.path, required: true, onChange: this.handlePathChange }), index.h("div", { key: '8aabbbf8548d9abbb930b5aaad6b8d476fc261b1', class: "input-grid" }, this.renderAliasInput()), index.h("div", { key: 'fa1b078c6b5a1c2d80ecc6bf5114af8f6d8ba12f', class: "input-grid" }, this.renderDescriptionInput()), index.h("div", { key: '49c482d4b60ae15afac30b67af4ab01d02b9c1e9', class: "button-group" }, this.renderAliasButton(), this.renderDescriptionButton())), index.h("limel-icon-button", { key: 'e7123ea4974c2928b8b5977595595f77e2271b1a', icon: "trash", label: "Remove property", onClick: this.handleRemove })),
362
+ index.h("div", { key: '3e3956bb95dc04ffa6bac42f242b81ccc876d100', class: "property-controls" }, index.h("div", { key: '65591fe8a50e6e80fa3c40c7fb5b9a53b13b8a55', class: "property-path" }, index.h("limebb-property-selector", { key: 'd41140ae568023f30e7047d3dcbc70a53a7503a4', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: this.item.path, required: true, onChange: this.handlePathChange }), index.h("div", { key: 'e8bd2fd1c560c6f67ae99bafd3832d9199b1f939', class: "input-grid" }, this.renderAliasInput()), index.h("div", { key: '5b61d939884ef26c0e83d70c22c7d42635d26aa0', class: "input-grid" }, this.renderDescriptionInput()), index.h("div", { key: '19dc494a85c9df10b8953380b9f3eb3dda7050ce', class: "button-group" }, this.renderAliasButton(), this.renderDescriptionButton())), index.h("limel-icon-button", { key: 'da3b889129de1e1dba5bf431b68edb5b786dfee6', icon: "trash", label: "Remove property", onClick: this.handleRemove })),
363
363
  ];
364
364
  }
365
365
  renderAliasButton() {
@@ -10,8 +10,8 @@ const LiveDocsInfo = class {
10
10
  }
11
11
  render() {
12
12
  return [
13
- index.h("div", { key: '59e539b27d23e3e18806704e8fe2264bc7da1375', class: "header" }, index.h("limel-icon", { key: '2b6d28bedbc16cd7665b1a250b634ed608d494a5', name: "not_showing_video_frames" }), index.h("h2", { key: '9ae03ca947c6cadd3754dbf13cd971af1b922fa6' }, "Viewing this file type requires ", index.h("em", { key: '08fecec0c0fe0ffae4dee5c3268897920c090f48' }, "Live Docs"))),
14
- index.h("p", { key: '7ec4f32f2523ca39518ecce705bcdffa17e73fe3' }, index.h("em", { key: '4569da9a16c5be8171d01df9620e9adae19eac43' }, "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!", index.h("a", { key: '829b8bd8be2751607146797f83b8c220db68f1c2', target: "_blank", href: "https://www.lime-technologies.com/en/lime-crm/live-docs/" }, "Learn more")),
13
+ index.h("div", { key: '6cca6e4ef0c666b5e8b98f3520e610dd22f0e1e6', class: "header" }, index.h("limel-icon", { key: 'a5fcd50b843f593695fdb0d58ff676be2f381f98', name: "not_showing_video_frames" }), index.h("h2", { key: 'fa42a948053ef5cf2d100054300e788097f0f46d' }, "Viewing this file type requires ", index.h("em", { key: '3319e03d3747ef71f16aa63fa94a9640142bc08c' }, "Live Docs"))),
14
+ index.h("p", { key: 'a9aaf3ecc5a63eb37c2242d38b0138b36cb9e4d7' }, index.h("em", { key: 'be00747c7b6692b534446cbcd2d8e935a08f6558' }, "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!", index.h("a", { key: '25535725cb312328f40b8d39a165ae43bf00980d', target: "_blank", href: "https://www.lime-technologies.com/en/lime-crm/live-docs/" }, "Learn more")),
15
15
  ];
16
16
  }
17
17
  };
@@ -1111,7 +1111,7 @@ const LocalePicker = class {
1111
1111
  const value = this.value;
1112
1112
  selectedOptions = options.find((option) => option.value === value);
1113
1113
  }
1114
- return (index.h("limel-select", { key: '36c73b129d7750a035ec241c412a6c2447e23bd4', 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 }));
1114
+ return (index.h("limel-select", { key: 'cb38c95a546757f47d376def9d3cf2f5d8176cf9', 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 }));
1115
1115
  }
1116
1116
  };
1117
1117
 
@@ -12,8 +12,8 @@ const MentionGroupCounter = class {
12
12
  render() {
13
13
  const label = this.getLabel();
14
14
  return [
15
- index.h("span", { key: '638df46fb134015d8f9402830580d36dc759bcd1', id: this.tooltipId }, label),
16
- index.h("limel-tooltip", { key: 'bdd49e3025be834b9d808473d456341a50d6f50d', elementId: this.tooltipId, label: label, helperLabel: this.helperLabel }),
15
+ index.h("span", { key: 'b6e816b8efd22fdaff81f6669d11ab8efae9e05e', id: this.tooltipId }, label),
16
+ index.h("limel-tooltip", { key: '62294172fabc48ad688b14ae75fe43d142ac0cb7', elementId: this.tooltipId, label: label, helperLabel: this.helperLabel }),
17
17
  ];
18
18
  }
19
19
  getLabel() {
@@ -122,9 +122,9 @@ const SummaryPopover = class {
122
122
  top: '0.125rem',
123
123
  right: '0.125rem',
124
124
  };
125
- return (index.h("limel-popover", { key: '3dac27c083b2d950d473e5f0f686cd19278eb0a0', style: {
125
+ return (index.h("limel-popover", { key: '0eebed7c2685d3d162d8987bca7f3ce3acd38a62', style: {
126
126
  '--limebb-summary-popover-timeout': `${this.triggerDelay}ms`,
127
- }, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, index.h("div", { key: 'acc7cc0472a6af2b53b38915111a7c4a8c5e20a1', slot: "trigger", onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocusin: this.openPopoverWithDelay }, index.h("slot", { key: 'd6bdbf59b1d39793484de55dcfb2e43d890468bf', name: "trigger" }), index.h("div", { key: 'dc462c2b1b787de54b22aed6ca51cac245df3c09', class: "opening-countdown-indicator" })), this.renderCard(closeButtonStyle)));
127
+ }, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, index.h("div", { key: 'df2242c223d4b6a2a61e822f63f50757ebfa16c4', slot: "trigger", onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocusin: this.openPopoverWithDelay }, index.h("slot", { key: '8f0bfcc7295cf604a4d395bc535cd4cf72069ecd', name: "trigger" }), index.h("div", { key: '804bb712139d21944fb5ce8e1fbb918115ba3dd8', class: "opening-countdown-indicator" })), this.renderCard(closeButtonStyle)));
128
128
  }
129
129
  renderCard(closeButtonStyle) {
130
130
  return (index.h("limel-card", { style: {
@@ -57,7 +57,7 @@ const NotificationListItem = class {
57
57
  }
58
58
  render() {
59
59
  var _a, _b;
60
- return (index.h(index.Host, { key: '466bd6547e34e2176054e4abe4354377ea02c316', id: this.item.id, class: {
60
+ return (index.h(index.Host, { key: '478562eb1347b383b23e73f28f0143fceec96b7a', id: this.item.id, class: {
61
61
  'is-clickable': this.isItemClickable(),
62
62
  'is-read': !!((_a = this.item) === null || _a === void 0 ? void 0 : _a.read),
63
63
  'is-selected': !!((_b = this.item) === null || _b === void 0 ? void 0 : _b.selected),
@@ -90,11 +90,11 @@ const PercentageVisualizer = class {
90
90
  render() {
91
91
  const normalizedValue = this.getNormalizedValue();
92
92
  const zeroPoint = this.getZeroPointPosition();
93
- return (index.h(index.Host, { key: '28577ee369379142fa8eb6cf5acc6956475451ec', class: this.getContainerClassList(), style: {
93
+ return (index.h(index.Host, { key: '235b934d22f3b44c3cd1f15be75080e797367c8c', class: this.getContainerClassList(), style: {
94
94
  '--limebb-percentage-visualizer-zero-point-position': `${zeroPoint}%`,
95
95
  '--limebb-percentage-visualizer-width': `${Math.abs(normalizedValue)}%`,
96
96
  '--limebb-percentage-visualizer-rotate': `${normalizedValue >= 0 ? '0deg' : '180deg'}`,
97
- } }, index.h("limel-notched-outline", { key: '1f47e875b69a06ddc10528916f004ffcdb23b65b', 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 }, index.h("div", { key: 'd3a0d2bc17bbe9b6c26789118f0f679bda356c63', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
97
+ } }, index.h("limel-notched-outline", { key: '29e9cb044645d10cc1892f72a032f9484726caff', 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 }, index.h("div", { key: '917a08e65845ec178c8cefbcfc4bb202b3b7fca0', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
98
98
  }
99
99
  renderVisualization() {
100
100
  if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {
@@ -47,7 +47,7 @@ const RuleChipPopover = class {
47
47
  };
48
48
  }
49
49
  render() {
50
- return (index.h("div", { key: '1b3a5fc8fc65f577b082cb368d92a99cfc68806a', class: "popover" }, this.renderHeader(), this.renderBody()));
50
+ return (index.h("div", { key: 'abb754c8d327cc82b5d4e7e44154e937c3aeb0d2', class: "popover" }, this.renderHeader(), this.renderBody()));
51
51
  }
52
52
  renderHeader() {
53
53
  var _a, _b, _c, _d;
@@ -586,7 +586,7 @@ const RuleEditor = class {
586
586
  'rule-editor': true,
587
587
  'rule-editor--disabled': this.disabled,
588
588
  };
589
- return (index.h("div", { key: '983f8e733e177da750191a88e3c176166932f7e0', class: containerClasses }, this.renderLabel(), index.h(RuleNodeView, { key: '48be41683418ead2b1f2283615b559cfcabbfa98', node: this.normalizedValue, path: [], ctx: this.createRenderContext() }), this.renderHelperText()));
589
+ return (index.h("div", { key: 'abe9c739c5fbd0749a593187fd36953482530aeb', class: containerClasses }, this.renderLabel(), index.h(RuleNodeView, { key: 'ba99e8de897dec3825fb74f78d42b3f503ead775', node: this.normalizedValue, path: [], ctx: this.createRenderContext() }), this.renderHelperText()));
590
590
  }
591
591
  renderLabel() {
592
592
  if (!this.label) {
@@ -24,7 +24,7 @@ const RuleGate = class {
24
24
  this.evaluate();
25
25
  }
26
26
  render() {
27
- return (index.h(index.Host, { key: '1aebc90e382bed53ff293634f4aa37cbc5b1f9d0', hidden: !this.shouldRender }, index.h("slot", { key: 'f28d6bc819101c43c980b80b4467dcb0d15292fa' })));
27
+ return (index.h(index.Host, { key: 'ce41c51b7f8b049d7d89374ef0c452b2e961aa23', hidden: !this.shouldRender }, index.h("slot", { key: 'ad04db83bceca78bf7bb2eb7b7b2dae018025319' })));
28
28
  }
29
29
  get ruleRegistry() {
30
30
  return this.platform.get(index_esm.n.RuleRegistry);
@@ -1522,7 +1522,7 @@ const LimeBBTextEditor = class {
1522
1522
  }
1523
1523
  render() {
1524
1524
  return [
1525
- index.h("limel-text-editor", { key: '0f1423f13a517aaeea8efbacab475a37e38aa857', 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 }),
1525
+ index.h("limel-text-editor", { key: '0f637527386d51f5b5c3e3a49b42acebafcba3fd', 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 }),
1526
1526
  this.renderPicker(),
1527
1527
  ];
1528
1528
  }
@@ -51,7 +51,7 @@ const TrendIndicator = class {
51
51
  this.numValue = this.parseValue(this.value);
52
52
  }
53
53
  render() {
54
- return (index.h(index.Host, { key: 'fbf631c6889091e9efe5790397b26f804d27d93b', class: this.getContainerClassList() }, index.h("limel-notched-outline", { key: '832d2d338bf86da41b0a19a813f0dc7e3b3eb8c9', 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 }, index.h("div", { key: 'b3266118df54e2c3a4d7729f0e36d7c7e1fbc13c', slot: "content", tabIndex: 0 }, this.renderVisualization())), this.renderHelperLine(), this.renderTooltip()));
54
+ return (index.h(index.Host, { key: 'b963d9086b70b11dce31375284e54574f54b4f0c', class: this.getContainerClassList() }, index.h("limel-notched-outline", { key: 'd2d2587a0239cba584177dbc1806762e9d783460', 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 }, index.h("div", { key: '8e7b6c37d803c5c682220681e93c3a096d4e02d2', slot: "content", tabIndex: 0 }, this.renderVisualization())), this.renderHelperLine(), this.renderTooltip()));
55
55
  }
56
56
  renderVisualization() {
57
57
  if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {