@limetech/lime-crm-building-blocks 1.134.0 → 1.135.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 (283) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/{filter-group-logic-Bwk6B784.js → filter-group-logic-Dp9o1iOJ.js} +1 -1
  3. package/dist/cjs/{index.esm-DcWSoSRE.js → index.esm-Dgkx-Syd.js} +2 -2
  4. package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
  5. package/dist/cjs/{lime-query-operators-Ci-RNshi.js → lime-query-operators-B6PujuTH.js} +1 -1
  6. package/dist/cjs/{lime-query-validation-nql4N6Z8.js → lime-query-validation-BszGOirf.js} +1 -1
  7. package/dist/cjs/limebb-alert-dialog.cjs.entry.js +1 -1
  8. package/dist/cjs/limebb-browser.cjs.entry.js +3 -3
  9. package/dist/cjs/limebb-chat-icon-list_3.cjs.entry.js +5 -5
  10. package/dist/cjs/limebb-chat-list.cjs.entry.js +2 -2
  11. package/dist/cjs/limebb-color-palette-picker.cjs.entry.js +1 -1
  12. package/dist/cjs/limebb-color-palette-swatches.cjs.entry.js +1 -1
  13. package/dist/cjs/limebb-component-config.cjs.entry.js +1 -1
  14. package/dist/cjs/limebb-component-picker.cjs.entry.js +1 -1
  15. package/dist/cjs/limebb-composer-toolbar.cjs.entry.js +3 -3
  16. package/dist/cjs/limebb-currency-picker.cjs.entry.js +2 -2
  17. package/dist/cjs/limebb-dashboard-widget.cjs.entry.js +1 -1
  18. package/dist/cjs/limebb-data-cells.cjs.entry.js +1 -1
  19. package/dist/cjs/limebb-date-picker.cjs.entry.js +2 -2
  20. package/dist/cjs/limebb-date-range.cjs.entry.js +1 -1
  21. package/dist/cjs/limebb-document-chips.cjs.entry.js +1 -1
  22. package/dist/cjs/limebb-document-item.cjs.entry.js +2 -2
  23. package/dist/cjs/limebb-document-picker.cjs.entry.js +1 -1
  24. package/dist/cjs/limebb-feed-item-thumbnail-file-info.cjs.entry.js +1 -1
  25. package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +2 -2
  26. package/dist/cjs/limebb-feed.cjs.entry.js +2 -2
  27. package/dist/cjs/limebb-icon-picker.cjs.entry.js +1 -1
  28. package/dist/cjs/limebb-info-tile-format.cjs.entry.js +1 -1
  29. package/dist/cjs/limebb-info-tile.cjs.entry.js +44 -9
  30. package/dist/cjs/limebb-kanban-group.cjs.entry.js +2 -2
  31. package/dist/cjs/limebb-kanban-item.cjs.entry.js +2 -2
  32. package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +3 -3
  33. package/dist/cjs/limebb-lime-query-filter-builder.cjs.entry.js +2 -2
  34. package/dist/cjs/limebb-lime-query-filter-comparison-editor_4.cjs.entry.js +7 -7
  35. package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +4 -4
  36. package/dist/cjs/limebb-lime-query-order-by-editor_2.cjs.entry.js +4 -4
  37. package/dist/cjs/limebb-lime-query-order-by-item.cjs.entry.js +2 -2
  38. package/dist/cjs/limebb-lime-query-response-format-builder.cjs.entry.js +3 -3
  39. package/dist/cjs/limebb-lime-query-response-format-editor_2.cjs.entry.js +1 -1
  40. package/dist/cjs/limebb-limeobject-file-viewer.cjs.entry.js +1 -1
  41. package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
  42. package/dist/cjs/limebb-loader.cjs.entry.js +18 -1
  43. package/dist/cjs/limebb-locale-picker.cjs.entry.js +2 -2
  44. package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
  45. package/dist/cjs/limebb-mention.cjs.entry.js +1 -1
  46. package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +2 -2
  47. package/dist/cjs/limebb-notification-item.cjs.entry.js +2 -2
  48. package/dist/cjs/limebb-notification-list.cjs.entry.js +1 -1
  49. package/dist/cjs/limebb-object-chip.cjs.entry.js +2 -2
  50. package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +3 -3
  51. package/dist/cjs/limebb-property-selector.cjs.entry.js +2 -2
  52. package/dist/cjs/limebb-rule-arg-filter-editor.cjs.entry.js +1 -1
  53. package/dist/cjs/limebb-rule-chip-popover.cjs.entry.js +2 -2
  54. package/dist/cjs/limebb-rule-editor.cjs.entry.js +2 -2
  55. package/dist/cjs/limebb-rule-gate.cjs.entry.js +2 -2
  56. package/dist/cjs/limebb-text-editor.cjs.entry.js +3 -3
  57. package/dist/cjs/limebb-trend-indicator.cjs.entry.js +2 -2
  58. package/dist/cjs/limebb-value-comparison-editor.cjs.entry.js +75 -0
  59. package/dist/cjs/{limetype-CNjUGemK.js → limetype-BayDf-QY.js} +1 -1
  60. package/dist/cjs/loader.cjs.js +1 -1
  61. package/dist/collection/collection-manifest.json +1 -0
  62. package/dist/collection/components/alert-dialog/alert-dialog.js +1 -1
  63. package/dist/collection/components/browser/browser.js +2 -2
  64. package/dist/collection/components/chat-list/chat-icon-list/chat-icon-list.js +1 -1
  65. package/dist/collection/components/chat-list/chat-item/chat-item.js +2 -2
  66. package/dist/collection/components/chat-list/chat-list.js +1 -1
  67. package/dist/collection/components/chat-list/typing-indicator/typing-indicator.js +1 -1
  68. package/dist/collection/components/color-palette-picker/color-palette-picker.js +1 -1
  69. package/dist/collection/components/color-palette-picker/color-palette-swatches/color-palette-swatches.js +1 -1
  70. package/dist/collection/components/composer-toolbar/composer-toolbar.js +2 -2
  71. package/dist/collection/components/currency-picker/currency-picker.js +1 -1
  72. package/dist/collection/components/dashboard-widget/dashboard-widget.js +1 -1
  73. package/dist/collection/components/date-picker/date-picker.js +1 -1
  74. package/dist/collection/components/date-range/date-range.js +1 -1
  75. package/dist/collection/components/document-chips/document-chips.js +1 -1
  76. package/dist/collection/components/document-picker/document-item/document-item.js +2 -2
  77. package/dist/collection/components/document-picker/document-picker.js +1 -1
  78. package/dist/collection/components/feed/feed-item/feed-timeline-item.js +1 -1
  79. package/dist/collection/components/feed/feed-item-thumbnail-file-info/feed-item-thumbnail-file-info.js +1 -1
  80. package/dist/collection/components/feed/feed.js +1 -1
  81. package/dist/collection/components/icon-picker/icon-picker.js +1 -1
  82. package/dist/collection/components/info-tile/format/config/info-tile-format.js +1 -1
  83. package/dist/collection/components/info-tile/info-tile.js +86 -7
  84. package/dist/collection/components/kanban/kanban-group/kanban-group.js +1 -1
  85. package/dist/collection/components/kanban/kanban-item/kanban-item.js +1 -1
  86. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison-editor.js +1 -1
  87. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +1 -1
  88. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js +2 -2
  89. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +1 -1
  90. package/dist/collection/components/lime-query-builder/lime-query-builder.js +1 -1
  91. package/dist/collection/components/lime-query-builder/lime-query-response-format-builder.js +1 -1
  92. package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +1 -1
  93. package/dist/collection/components/lime-query-builder/order-by/order-by-editor.js +1 -1
  94. package/dist/collection/components/lime-query-builder/order-by/order-by-item.js +2 -2
  95. package/dist/collection/components/lime-query-builder/response-format/response-format-item.js +1 -1
  96. package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
  97. package/dist/collection/components/loader/loader.js +2 -0
  98. package/dist/collection/components/locale-picker/locale-picker.js +1 -1
  99. package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
  100. package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
  101. package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.js +1 -1
  102. package/dist/collection/components/rule-editor/rule-editor.js +1 -1
  103. package/dist/collection/components/rule-editor/value-comparison-editor/value-comparison-editor-metadata.js +15 -0
  104. package/dist/collection/components/rule-editor/value-comparison-editor/value-comparison-editor.css +9 -0
  105. package/dist/collection/components/rule-editor/value-comparison-editor/value-comparison-editor.js +149 -0
  106. package/dist/collection/components/rule-gate/rule-gate.js +1 -1
  107. package/dist/collection/components/summary-popover/summary-popover.js +2 -2
  108. package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
  109. package/dist/collection/components/text-editor/text-editor.js +1 -1
  110. package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
  111. package/dist/components/chat-icon-list.js +1 -1
  112. package/dist/components/chat-item.js +1 -1
  113. package/dist/components/currency-picker.js +1 -1
  114. package/dist/components/date-picker.js +1 -1
  115. package/dist/components/document-item.js +1 -1
  116. package/dist/components/feed-item-thumbnail-file-info.js +1 -1
  117. package/dist/components/feed-timeline-item.js +1 -1
  118. package/dist/components/kanban-group.js +1 -1
  119. package/dist/components/kanban-item.js +1 -1
  120. package/dist/components/lime-query-filter-comparison-editor.js +1 -1
  121. package/dist/components/lime-query-filter-comparison.js +1 -1
  122. package/dist/components/lime-query-filter-expression.js +1 -1
  123. package/dist/components/limebb-alert-dialog.js +1 -1
  124. package/dist/components/limebb-browser.js +1 -1
  125. package/dist/components/limebb-chat-list.js +1 -1
  126. package/dist/components/limebb-color-palette-picker.js +1 -1
  127. package/dist/components/limebb-color-palette-swatches.js +1 -1
  128. package/dist/components/limebb-composer-toolbar.js +1 -1
  129. package/dist/components/limebb-dashboard-widget.js +1 -1
  130. package/dist/components/limebb-date-range.js +1 -1
  131. package/dist/components/limebb-document-chips.js +1 -1
  132. package/dist/components/limebb-document-picker.js +1 -1
  133. package/dist/components/limebb-feed.js +1 -1
  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-loader.js +1 -1
  140. package/dist/components/limebb-locale-picker.js +1 -1
  141. package/dist/components/limebb-mention-group-counter.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.d.ts +11 -0
  147. package/dist/components/limebb-value-comparison-editor.js +1 -0
  148. package/dist/components/limetype-field.js +1 -1
  149. package/dist/components/live-docs-info.js +1 -1
  150. package/dist/components/notification-item.js +1 -1
  151. package/dist/components/order-by-editor.js +1 -1
  152. package/dist/components/order-by-item.js +1 -1
  153. package/dist/components/percentage-visualizer.js +1 -1
  154. package/dist/components/response-format-item.js +1 -1
  155. package/dist/components/rule-chip-popover.js +1 -1
  156. package/dist/components/summary-popover.js +1 -1
  157. package/dist/components/typing-indicator.js +1 -1
  158. package/dist/esm/{filter-group-logic-RXn-GGk1.js → filter-group-logic-1aucZQgy.js} +1 -1
  159. package/dist/esm/{index.esm-DAe4_MLR.js → index.esm-B1KM7sH7.js} +1 -1
  160. package/dist/esm/lime-crm-building-blocks.js +1 -1
  161. package/dist/esm/{lime-query-operators-DYlN1dAt.js → lime-query-operators-DvI2OyJI.js} +1 -1
  162. package/dist/esm/{lime-query-validation-DXxPZ2CH.js → lime-query-validation-CiIEITCJ.js} +1 -1
  163. package/dist/esm/limebb-alert-dialog.entry.js +1 -1
  164. package/dist/esm/limebb-browser.entry.js +3 -3
  165. package/dist/esm/limebb-chat-icon-list_3.entry.js +5 -5
  166. package/dist/esm/limebb-chat-list.entry.js +2 -2
  167. package/dist/esm/limebb-color-palette-picker.entry.js +1 -1
  168. package/dist/esm/limebb-color-palette-swatches.entry.js +1 -1
  169. package/dist/esm/limebb-component-config.entry.js +1 -1
  170. package/dist/esm/limebb-component-picker.entry.js +1 -1
  171. package/dist/esm/limebb-composer-toolbar.entry.js +3 -3
  172. package/dist/esm/limebb-currency-picker.entry.js +2 -2
  173. package/dist/esm/limebb-dashboard-widget.entry.js +1 -1
  174. package/dist/esm/limebb-data-cells.entry.js +1 -1
  175. package/dist/esm/limebb-date-picker.entry.js +2 -2
  176. package/dist/esm/limebb-date-range.entry.js +1 -1
  177. package/dist/esm/limebb-document-chips.entry.js +1 -1
  178. package/dist/esm/limebb-document-item.entry.js +2 -2
  179. package/dist/esm/limebb-document-picker.entry.js +1 -1
  180. package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
  181. package/dist/esm/limebb-feed-timeline-item.entry.js +2 -2
  182. package/dist/esm/limebb-feed.entry.js +2 -2
  183. package/dist/esm/limebb-icon-picker.entry.js +1 -1
  184. package/dist/esm/limebb-info-tile-format.entry.js +1 -1
  185. package/dist/esm/limebb-info-tile.entry.js +44 -9
  186. package/dist/esm/limebb-kanban-group.entry.js +2 -2
  187. package/dist/esm/limebb-kanban-item.entry.js +2 -2
  188. package/dist/esm/limebb-lime-query-builder.entry.js +3 -3
  189. package/dist/esm/limebb-lime-query-filter-builder.entry.js +2 -2
  190. package/dist/esm/limebb-lime-query-filter-comparison-editor_4.entry.js +7 -7
  191. package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +4 -4
  192. package/dist/esm/limebb-lime-query-order-by-editor_2.entry.js +4 -4
  193. package/dist/esm/limebb-lime-query-order-by-item.entry.js +2 -2
  194. package/dist/esm/limebb-lime-query-response-format-builder.entry.js +3 -3
  195. package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +1 -1
  196. package/dist/esm/limebb-limeobject-file-viewer.entry.js +1 -1
  197. package/dist/esm/limebb-live-docs-info.entry.js +2 -2
  198. package/dist/esm/limebb-loader.entry.js +18 -1
  199. package/dist/esm/limebb-locale-picker.entry.js +2 -2
  200. package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
  201. package/dist/esm/limebb-mention.entry.js +1 -1
  202. package/dist/esm/limebb-navigation-button_2.entry.js +2 -2
  203. package/dist/esm/limebb-notification-item.entry.js +2 -2
  204. package/dist/esm/limebb-notification-list.entry.js +1 -1
  205. package/dist/esm/limebb-object-chip.entry.js +2 -2
  206. package/dist/esm/limebb-percentage-visualizer.entry.js +3 -3
  207. package/dist/esm/limebb-property-selector.entry.js +2 -2
  208. package/dist/esm/limebb-rule-arg-filter-editor.entry.js +1 -1
  209. package/dist/esm/limebb-rule-chip-popover.entry.js +2 -2
  210. package/dist/esm/limebb-rule-editor.entry.js +2 -2
  211. package/dist/esm/limebb-rule-gate.entry.js +2 -2
  212. package/dist/esm/limebb-text-editor.entry.js +3 -3
  213. package/dist/esm/limebb-trend-indicator.entry.js +2 -2
  214. package/dist/esm/limebb-value-comparison-editor.entry.js +73 -0
  215. package/dist/esm/{limetype-C1wEJnPI.js → limetype-CIkoDD1B.js} +1 -1
  216. package/dist/esm/loader.js +1 -1
  217. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  218. package/dist/lime-crm-building-blocks/{p-692084d2.entry.js → p-041f1094.entry.js} +1 -1
  219. package/dist/lime-crm-building-blocks/{p-3c437049.entry.js → p-096ea04d.entry.js} +1 -1
  220. package/dist/lime-crm-building-blocks/{p-7f5c97fe.entry.js → p-0d6d8b72.entry.js} +1 -1
  221. package/dist/lime-crm-building-blocks/{p-dc1d543d.entry.js → p-16fad0a8.entry.js} +1 -1
  222. package/dist/lime-crm-building-blocks/{p-56bb13b2.entry.js → p-191e4dcd.entry.js} +1 -1
  223. package/dist/lime-crm-building-blocks/{p-8ed7b025.entry.js → p-1a076d37.entry.js} +1 -1
  224. package/dist/lime-crm-building-blocks/{p-efab4f7e.entry.js → p-1b5f48c2.entry.js} +1 -1
  225. package/dist/lime-crm-building-blocks/{p-81655182.entry.js → p-201498a9.entry.js} +1 -1
  226. package/dist/lime-crm-building-blocks/{p-c7c5991f.entry.js → p-26e25dbd.entry.js} +1 -1
  227. package/dist/lime-crm-building-blocks/{p-24337de2.entry.js → p-29dd2424.entry.js} +1 -1
  228. package/dist/lime-crm-building-blocks/{p-563d69ff.entry.js → p-30f6d7ea.entry.js} +1 -1
  229. package/dist/lime-crm-building-blocks/{p-99464fa7.entry.js → p-340250da.entry.js} +1 -1
  230. package/dist/lime-crm-building-blocks/{p-18ce3ce5.entry.js → p-3f2f1826.entry.js} +1 -1
  231. package/dist/lime-crm-building-blocks/{p-4c10bea0.entry.js → p-46225433.entry.js} +1 -1
  232. package/dist/lime-crm-building-blocks/{p-68a951f5.entry.js → p-4cd99453.entry.js} +1 -1
  233. package/dist/lime-crm-building-blocks/{p-464b02c2.entry.js → p-52d8f7c2.entry.js} +1 -1
  234. package/dist/lime-crm-building-blocks/p-555da984.entry.js +1 -0
  235. package/dist/lime-crm-building-blocks/{p-efb70fbb.entry.js → p-6299c46b.entry.js} +1 -1
  236. package/dist/lime-crm-building-blocks/{p-b16bbda2.entry.js → p-69cf07ba.entry.js} +1 -1
  237. package/dist/lime-crm-building-blocks/{p-47a7b3fd.entry.js → p-6c4521a0.entry.js} +1 -1
  238. package/dist/lime-crm-building-blocks/{p-8d5311e4.entry.js → p-6f0a5401.entry.js} +1 -1
  239. package/dist/lime-crm-building-blocks/{p-7d969bbe.entry.js → p-71e1c5f0.entry.js} +1 -1
  240. package/dist/lime-crm-building-blocks/p-759d0fc2.entry.js +1 -0
  241. package/dist/lime-crm-building-blocks/{p-5eef1781.entry.js → p-7aaf805d.entry.js} +1 -1
  242. package/dist/lime-crm-building-blocks/{p-8d14a58a.entry.js → p-8c3970ed.entry.js} +1 -1
  243. package/dist/lime-crm-building-blocks/{p-a5850f04.entry.js → p-9909b0bf.entry.js} +1 -1
  244. package/dist/lime-crm-building-blocks/{p-6cf0a1cd.entry.js → p-991783f8.entry.js} +1 -1
  245. package/dist/lime-crm-building-blocks/{p-DzXJyKRS.js → p-B5QzrGTX.js} +1 -1
  246. package/dist/lime-crm-building-blocks/{p-D3UYWGdn.js → p-BneXZK-Q.js} +1 -1
  247. package/dist/lime-crm-building-blocks/{p-BbFGcMnU.js → p-DK4A47Sj.js} +1 -1
  248. package/dist/lime-crm-building-blocks/{p-y_s8hZmV.js → p-DjwVpKf5.js} +1 -1
  249. package/dist/lime-crm-building-blocks/{p-5a718d20.entry.js → p-a21d6f7e.entry.js} +1 -1
  250. package/dist/lime-crm-building-blocks/{p-43af24b5.entry.js → p-a2c8e1af.entry.js} +1 -1
  251. package/dist/lime-crm-building-blocks/p-a8684418.entry.js +1 -0
  252. package/dist/lime-crm-building-blocks/{p-0ba1294a.entry.js → p-b264b37d.entry.js} +1 -1
  253. package/dist/lime-crm-building-blocks/{p-ecd0280d.entry.js → p-b431df3c.entry.js} +1 -1
  254. package/dist/lime-crm-building-blocks/{p-22296e19.entry.js → p-b4b103c1.entry.js} +1 -1
  255. package/dist/lime-crm-building-blocks/{p-0fac2307.entry.js → p-b7d917ed.entry.js} +1 -1
  256. package/dist/lime-crm-building-blocks/p-c0d39ae4.entry.js +1 -0
  257. package/dist/lime-crm-building-blocks/{p-8238723b.entry.js → p-c4c3f054.entry.js} +1 -1
  258. package/dist/lime-crm-building-blocks/{p-072756ea.entry.js → p-c6cc1438.entry.js} +1 -1
  259. package/dist/lime-crm-building-blocks/{p-bd264cfa.entry.js → p-c72d3231.entry.js} +1 -1
  260. package/dist/lime-crm-building-blocks/{p-a6103d04.entry.js → p-c7dbd961.entry.js} +1 -1
  261. package/dist/lime-crm-building-blocks/{p-b01f2045.entry.js → p-c8cf6e4d.entry.js} +1 -1
  262. package/dist/lime-crm-building-blocks/{p-1dfdf045.entry.js → p-cea4fe16.entry.js} +1 -1
  263. package/dist/lime-crm-building-blocks/p-d6ac6cd3.entry.js +1 -0
  264. package/dist/lime-crm-building-blocks/{p-7a4704dc.entry.js → p-d8835b8c.entry.js} +1 -1
  265. package/dist/lime-crm-building-blocks/{p-603ab702.entry.js → p-e1223704.entry.js} +1 -1
  266. package/dist/lime-crm-building-blocks/{p-49bc396e.entry.js → p-e174dccd.entry.js} +1 -1
  267. package/dist/lime-crm-building-blocks/{p-725e6748.entry.js → p-ec22438d.entry.js} +1 -1
  268. package/dist/lime-crm-building-blocks/{p-dc3a86f3.entry.js → p-efd62913.entry.js} +1 -1
  269. package/dist/lime-crm-building-blocks/{p-9639c6ee.entry.js → p-f22e2539.entry.js} +1 -1
  270. package/dist/lime-crm-building-blocks/{p-3996a598.entry.js → p-f58d25e5.entry.js} +1 -1
  271. package/dist/lime-crm-building-blocks/{p-16fa6f3e.entry.js → p-fac7ff61.entry.js} +1 -1
  272. package/dist/lime-crm-building-blocks/{p-5006c5ea.entry.js → p-fb23df8e.entry.js} +1 -1
  273. package/dist/lime-crm-building-blocks/{p-7b9359cc.entry.js → p-ff686a4e.entry.js} +1 -1
  274. package/dist/types/components/info-tile/info-tile.d.ts +50 -1
  275. package/dist/types/components/rule-editor/value-comparison-editor/value-comparison-editor-metadata.d.ts +12 -0
  276. package/dist/types/components/rule-editor/value-comparison-editor/value-comparison-editor.d.ts +45 -0
  277. package/dist/types/components.d.ts +116 -0
  278. package/package.json +4 -4
  279. package/dist/lime-crm-building-blocks/p-07ef2fd0.entry.js +0 -1
  280. package/dist/lime-crm-building-blocks/p-6fc4e731.entry.js +0 -1
  281. package/dist/lime-crm-building-blocks/p-898b097e.entry.js +0 -1
  282. package/dist/lime-crm-building-blocks/p-ec335be5.entry.js +0 -1
  283. /package/dist/lime-crm-building-blocks/{p-CqRNpSRV.js → p-BVxuJgRM.js} +0 -0
@@ -31,6 +31,7 @@ import { BasicFormatter } from "./format/basic";
31
31
  * @exampleComponent limebb-example-info-tile-unit-format
32
32
  * @exampleComponent limebb-example-info-tile-date-format
33
33
  * @exampleComponent limebb-example-info-tile-relative-date-format
34
+ * @exampleComponent limebb-example-info-tile-reduce-presence
34
35
  * @beta
35
36
  */
36
37
  export class InfoTile {
@@ -42,6 +43,17 @@ export class InfoTile {
42
43
  this.loading = false;
43
44
  this.error = false;
44
45
  }
46
+ /**
47
+ * The host cast to a plain `HTMLElement` (intersected with
48
+ * `LimeWebComponent` for the context registry). The cast is needed
49
+ * because this component declares a `prefix` prop, which collides with
50
+ * the native `HTMLElement.prefix` attribute (`string | undefined` vs
51
+ * `string | null`), leaving `HTMLLimebbInfoTileElement` and `HTMLElement`
52
+ * mutually unassignable.
53
+ */
54
+ get hostElement() {
55
+ return this.host;
56
+ }
45
57
  connectedCallback() {
46
58
  this.registerContextProvider();
47
59
  }
@@ -99,11 +111,37 @@ export class InfoTile {
99
111
  icon: this.icon,
100
112
  prefix: ((_a = value === null || value === void 0 ? void 0 : value.prefix) === null || _a === void 0 ? void 0 : _a.trim()) || this.prefix,
101
113
  suffix: ((_b = value === null || value === void 0 ? void 0 : value.suffix) === null || _b === void 0 ? void 0 : _b.trim()) || this.suffix,
114
+ reducedPresence: this.shouldReducePresence(),
102
115
  };
103
116
  const errorProps = Object.assign(Object.assign({}, baseProps), { icon: 'error', prefix: 'ERROR', loading: true, label: this.getLabel(filter) });
104
117
  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() });
105
118
  const props = !filter || this.error ? errorProps : normalProps;
106
- return (h("limel-info-tile", Object.assign({ key: '0b1ada2299bec6b79e903f3612e3c1cfbbf31827', class: { error: !filter || this.error } }, props)));
119
+ return (h("limel-info-tile", Object.assign({ key: 'f5680e93f15afe32e8abdcd05b89f12708b8edf5', class: { error: !filter || this.error } }, props)));
120
+ }
121
+ /**
122
+ * Effective `reducedPresence` for this render. The boolean prop
123
+ * wins if it's set; otherwise the rule is evaluated against the
124
+ * current value. The rule is skipped while loading so the tile
125
+ * doesn't flicker between dimmed and full-presence on its first
126
+ * paint — the load completes within a frame or two and the next
127
+ * render picks up the real value.
128
+ */
129
+ shouldReducePresence() {
130
+ if (this.reducedPresence) {
131
+ return true;
132
+ }
133
+ if (!this.reducedPresenceRule || this.loading) {
134
+ return false;
135
+ }
136
+ try {
137
+ return this.ruleRegistry.compile(this.reducedPresenceRule)(this.ruleRegistry.scope({
138
+ host: this.hostElement,
139
+ with: { scalarValue: this.value },
140
+ }));
141
+ }
142
+ catch (_a) {
143
+ return false;
144
+ }
107
145
  }
108
146
  getFormattedValue() {
109
147
  if (!this.value && this.value !== 0) {
@@ -163,6 +201,9 @@ export class InfoTile {
163
201
  get translator() {
164
202
  return this.platform.get(PlatformServiceName.Translate);
165
203
  }
204
+ get ruleRegistry() {
205
+ return this.platform.get(PlatformServiceName.RuleRegistry);
206
+ }
166
207
  get language() {
167
208
  return this.platform.get(PlatformServiceName.Application).getLanguage();
168
209
  }
@@ -188,12 +229,7 @@ export class InfoTile {
188
229
  label: this.getLabel(filter),
189
230
  };
190
231
  });
191
- this.unregisterContextProvider = registry.register(provider,
192
- // This cast is needed because there's a type conflict between
193
- // `HTMLElement.prefix` and `HTMLLimebbInfoTileElement.prefix`.
194
- // The problem here is that this info-tile component has a property
195
- // (`prefix`) with the same name as one of the native HTML attributes.
196
- this.host);
232
+ this.unregisterContextProvider = registry.register(provider, this.hostElement);
197
233
  }
198
234
  static get is() { return "limebb-info-tile"; }
199
235
  static get encapsulation() { return "shadow"; }
@@ -464,6 +500,49 @@ export class InfoTile {
464
500
  },
465
501
  "getter": false,
466
502
  "setter": false
503
+ },
504
+ "reducedPresence": {
505
+ "type": "boolean",
506
+ "mutable": false,
507
+ "complexType": {
508
+ "original": "boolean",
509
+ "resolved": "boolean | undefined",
510
+ "references": {}
511
+ },
512
+ "required": false,
513
+ "optional": true,
514
+ "docs": {
515
+ "tags": [],
516
+ "text": "When `true`, the info tile is rendered with a reduced visual\npresence (lower saturation and opacity) so it draws less\nattention. Use this for tiles whose values are not currently\nnoteworthy \u2014 for example, a counter that is zero or a metric that\nsits within an expected range \u2014 so the user is not overwhelmed by\na dashboard full of equally-loud tiles.\n\nThe actual styling lives on `limel-info-tile`; this component\njust forwards the boolean. Set this directly when the consumer\nalready knows the answer. When the answer depends on the tile's\nvalue, set {@link reducedPresenceRule} instead and the tile\nwill compute the boolean itself."
517
+ },
518
+ "getter": false,
519
+ "setter": false,
520
+ "reflect": true,
521
+ "attribute": "reduced-presence"
522
+ },
523
+ "reducedPresenceRule": {
524
+ "type": "unknown",
525
+ "mutable": false,
526
+ "complexType": {
527
+ "original": "Rule",
528
+ "resolved": "RuleAll | RuleAny | RuleNot | RuleRef | undefined",
529
+ "references": {
530
+ "Rule": {
531
+ "location": "import",
532
+ "path": "@limetech/lime-web-components",
533
+ "id": "node_modules::Rule",
534
+ "referenceLocation": "Rule"
535
+ }
536
+ }
537
+ },
538
+ "required": false,
539
+ "optional": true,
540
+ "docs": {
541
+ "tags": [],
542
+ "text": "Rule that drives `reducedPresence` from the tile's loaded value.\nWhen set, the tile evaluates it against its `value` after each load\nand dims itself when the rule is `true`. The {@link reducedPresence}\nprop still takes effect on top \u2014 if either says \"dim\", the tile dims.\n\nAny rule the `RuleRegistry` can compile works. The tile evaluates\nit against a scope anchored on its host, with the tile's loaded\nvalue supplied as `scalarValue`. So primitives reading\n`scalarValue` \u2014 such as `limetech.value-comparison` \u2014 see the\nfigure on screen, while any other context the primitive reads\nresolves from the DOM."
543
+ },
544
+ "getter": false,
545
+ "setter": false
467
546
  }
468
547
  };
469
548
  }
@@ -27,7 +27,7 @@ export class KanbanGroup {
27
27
  };
28
28
  }
29
29
  render() {
30
- return (h(Host, { key: '03d233a753a8c61ae453697fde91284180557760' }, this.renderHelp(), this.renderGroupHeading(), this.renderGroupSummary(), this.renderItems()));
30
+ return (h(Host, { key: '2a7f44b39964ed21a4922ef22b46451cabdc2683' }, this.renderHelp(), this.renderGroupHeading(), this.renderGroupSummary(), this.renderItems()));
31
31
  }
32
32
  renderGroupSummary() {
33
33
  if (!this.summary || !this.totalCount) {
@@ -55,7 +55,7 @@ export class KanbanItemComponent {
55
55
  }
56
56
  render() {
57
57
  var _a, _b;
58
- return (h(Host, { key: 'ee9ebc5f113a4fd3202c3d8a7f4d4c52d6b6fd82', id: this.item.id.toString(), class: {
58
+ return (h(Host, { key: 'dcdc71a5add85b43083277eb2bfeaa27b5d8cc5d', id: this.item.id.toString(), class: {
59
59
  'has-unpromoted-actions': !!((_a = this.item.unpromotedActions) === null || _a === void 0 ? void 0 : _a.length),
60
60
  'is-selected': !!((_b = this.item) === null || _b === void 0 ? void 0 : _b.selected),
61
61
  }, style: {
@@ -48,7 +48,7 @@ export class LimeQueryFilterComparisonEditorComponent {
48
48
  (_a = this.propertySelectorEl) === null || _a === void 0 ? void 0 : _a.focus();
49
49
  }
50
50
  render() {
51
- return (h(Host, { key: '8b70eaef1906fd9eaa69c9e4d6c42937406d2fcc' }, this.renderPropertySelector(), this.renderOperator(), this.renderValueInput()));
51
+ return (h(Host, { key: '06e1cb22b9e472cbe185e06b21666adb0a11344b' }, this.renderPropertySelector(), this.renderOperator(), this.renderValueInput()));
52
52
  }
53
53
  renderPropertySelector() {
54
54
  return (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 }));
@@ -48,7 +48,7 @@ export class LimeQueryFilterComparisonComponent {
48
48
  }
49
49
  }
50
50
  render() {
51
- return (h(Host, { key: 'f85d1669dccffd7a0905ac5549eeea2f4c350782' }, this.renderHeader(), h("limel-popover", { key: '793a3ea0377182b86511165e39ff30212736d030', open: this.isOpen, openDirection: "bottom-start", onClose: this.handleClose }, h("limel-chip", { key: '0d4c7c565268c096d390994a862920c8066e1f11', slot: "trigger", text: this.summaryText(), icon: this.summaryIcon(), removable: true, onClick: this.handleOpen, onRemove: this.removeExpression }), h("limebb-lime-query-filter-comparison-editor", { key: 'a4ddad5edc49c4de265e9b3e237fb31455ae48e0', platform: this.platform, context: this.context, limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression, onExpressionChange: this.handleEditorChange }))));
51
+ return (h(Host, { key: '2eb5d1fd3602162e9b5efe49e9ebdd1ad006a611' }, this.renderHeader(), h("limel-popover", { key: '8ff6dba3737f58f204cc25b2c7d37827c1e7ecee', open: this.isOpen, openDirection: "bottom-start", onClose: this.handleClose }, h("limel-chip", { key: '886ff840786fbdf0fdf1d7ef6a8cf3d8cca54c72', slot: "trigger", text: this.summaryText(), icon: this.summaryIcon(), removable: true, onClick: this.handleOpen, onRemove: this.removeExpression }), h("limebb-lime-query-filter-comparison-editor", { key: 'b0dfd57ffda004f63c3f7d71db46aa0950e2f13c', platform: this.platform, context: this.context, limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression, onExpressionChange: this.handleEditorChange }))));
52
52
  }
53
53
  summaryText() {
54
54
  var _a;
@@ -90,9 +90,9 @@ export class LimeQueryFilterGroupComponent {
90
90
  const combinator = getCombinator(this.expression);
91
91
  const inner = getInnerAndOr(this.expression);
92
92
  const selected = COMBINATOR_OPTIONS.find((o) => o.value === combinator);
93
- return (h(Host, { key: 'c9ca20c6b893416088807266fede19e5a24e360d', "data-op": combinator, style: {
93
+ return (h(Host, { key: '66a01a54f224e00445831f10966cc0c90ff10061', "data-op": combinator, style: {
94
94
  '--limebb-query-filter-group-color-code': OP_STYLE[combinator].color,
95
- } }, h("div", { key: '8efe9e6e4d1ba552b8a761ec23b18668a1aef7f3', class: "group" }, h("div", { key: 'e99bb85a9532431a63ce0916dc4882a2f73d2307', class: "group-header" }, h("limel-select", { key: '981fd5c1d4755ef937451144245640228ed515a9', class: "combinator", label: "Match", value: selected, options: COMBINATOR_OPTIONS, onChange: this.handleCombinatorChange }), h("limel-icon-button", { key: 'caa427e897501a12a98a370c4d2364564904c042', class: "delete-group", icon: "trash", label: "Delete this group", onClick: this.handleDeleteGroup })), h("ul", { key: '8a21efdd1d783b11bb00f39c3579eec7277a505e', class: "rows" }, inner.exp.map(this.renderChildExpression), h("limel-chip", { key: 'b4612f1899060f2f553283cc7afac53777b0c1ef', role: "listitem", class: "add-condition", text: "Condition", icon: { name: 'plus_math', title: 'Add' }, onClick: this.handleAddChildExpression })), h("limel-chip", { key: '7046abfe1929fa13f4de3e90285610280467fd76', class: "add-group", size: "small", text: "Group", icon: {
95
+ } }, h("div", { key: '24fe86628ceb5b67ed1b3946483030c758145041', class: "group" }, h("div", { key: '6c0fc9ea1a2acc6db6a5b91de10ddf4e279d646b', class: "group-header" }, h("limel-select", { key: '443a8f9eb2d41371563a0305aebee4b0e2266795', class: "combinator", label: "Match", value: selected, options: COMBINATOR_OPTIONS, onChange: this.handleCombinatorChange }), h("limel-icon-button", { key: '50bc34b2b3328d6ad6056315700b098be4307d90', class: "delete-group", icon: "trash", label: "Delete this group", onClick: this.handleDeleteGroup })), h("ul", { key: 'b535dc3de80947d1d9a88f38f0df7c87b53ba4f6', class: "rows" }, inner.exp.map(this.renderChildExpression), h("limel-chip", { key: 'e30331e86df3af825828cce2a743ea54540cdc8c', role: "listitem", class: "add-condition", text: "Condition", icon: { name: 'plus_math', title: 'Add' }, onClick: this.handleAddChildExpression })), h("limel-chip", { key: 'f669006fa958fd141db149b1ff6e5d9f2655d853', class: "add-group", size: "small", text: "Group", icon: {
96
96
  name: 'plus_math',
97
97
  title: 'Add',
98
98
  color: 'var(--group-rail-color)',
@@ -35,7 +35,7 @@ export class LimeQueryFilterNotComponent {
35
35
  };
36
36
  }
37
37
  render() {
38
- return (h("div", { key: '30b9f2fbe27c8277633ef02fbebbafb227387ed8', class: "expression" }, this.label && h("limel-header", { key: '05b193ac0ec191b1f9394ed48691c24e534ba66c', heading: this.label }), h("limebb-lime-query-filter-expression", { key: '83b6a42631b886735502a8ec6454f5e9c868cc4c', platform: this.platform, context: this.context, label: "Not", limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression.exp, onExpressionChange: this.handleExpressionChange })));
38
+ return (h("div", { key: '0058f05ff88585bbdc15b2781316e17fcebe49af', class: "expression" }, this.label && h("limel-header", { key: '02abf5fa55add75c1341f1a4b0699f1c5a8658ad', heading: this.label }), h("limebb-lime-query-filter-expression", { key: '1ef393bb9c3a5dc20f3775c8796b0e898efbd7f2', platform: this.platform, context: this.context, label: "Not", limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression.exp, onExpressionChange: this.handleExpressionChange })));
39
39
  }
40
40
  static get is() { return "limebb-lime-query-filter-not"; }
41
41
  static get encapsulation() { return "shadow"; }
@@ -172,7 +172,7 @@ export class LimeQueryBuilder {
172
172
  }
173
173
  }
174
174
  render() {
175
- return (h(Host, { key: '08917b4c102db24180be24f392067ba5ec14569f' }, this.renderHeader(), this.renderContent()));
175
+ return (h(Host, { key: '0f77284a47da233bf57e5f755661fdc0dab9fca8' }, this.renderHeader(), this.renderContent()));
176
176
  }
177
177
  renderContent() {
178
178
  const visualModeSupported = this.checkVisualModeSupport();
@@ -154,7 +154,7 @@ export class LimeQueryResponseFormatBuilder {
154
154
  }
155
155
  render() {
156
156
  const visualModeSupported = this.checkVisualModeSupport();
157
- return (h("div", { key: '6f59c4ff1f5ef1ee726bacbe3b8333cd5f6dff77', class: "response-format-builder" }, this.label && h("h1", { key: '28d5825c0ca043f6f671cf812c174aa028950524', class: "builder-label" }, this.label), this.helperText && (h("p", { key: '1e35efbfaa73c0fd871f813059660eea3d026063', class: "builder-helper-text" }, this.helperText)), this.visualModeEnabled && (h("div", { key: '8cbe1f088d88cbdefbdd092cdf879facdbb807a3', class: "mode-controls" }, this.renderModeSwitch(visualModeSupported))), !this.visualModeEnabled || this.mode === 'code' ? (h("div", { class: "code-mode" }, this.renderCodeEditor(visualModeSupported))) : (h("div", { class: "visual-mode" }, this.renderVisualMode()))));
157
+ return (h("div", { key: '2f59ea50ae97cceebd46fdd308653dcb1b54f2f3', class: "response-format-builder" }, this.label && h("h1", { key: '57c5459603de3dd35e356489ffb4da6ee962b47c', class: "builder-label" }, this.label), this.helperText && (h("p", { key: 'c401307839a364803737f9e37e3161bbd1ebe9ef', class: "builder-helper-text" }, this.helperText)), this.visualModeEnabled && (h("div", { key: 'b9f2be000194f988061cc3569f2dad573097cada', class: "mode-controls" }, this.renderModeSwitch(visualModeSupported))), !this.visualModeEnabled || this.mode === 'code' ? (h("div", { class: "code-mode" }, this.renderCodeEditor(visualModeSupported))) : (h("div", { class: "visual-mode" }, this.renderVisualMode()))));
158
158
  }
159
159
  renderModeSwitch(support) {
160
160
  const visualDisabled = !support.visualModeSupported;
@@ -78,7 +78,7 @@ export class LimetypeField {
78
78
  value: '',
79
79
  };
80
80
  options.unshift(emptyOption);
81
- return (h("limel-select", { key: '85956ae62a4975a7706b4a561b1e321078e0dc2a', label: this.label, options: options, value: selectedOption, required: this.required, helperText: this.helperText, invalid: invalid, disabled: this.disabled || this.readonly, onChange: this.handleChange }));
81
+ return (h("limel-select", { key: '8c1be7d1db3d92e37353eb13b32332646fecf186', label: this.label, options: options, value: selectedOption, required: this.required, helperText: this.helperText, invalid: invalid, disabled: this.disabled || this.readonly, onChange: this.handleChange }));
82
82
  }
83
83
  componentWillRender() {
84
84
  this.updatePropertyFields(this.value || '');
@@ -69,7 +69,7 @@ export class OrderByEditor {
69
69
  }
70
70
  }
71
71
  render() {
72
- return (h(Host, { key: '59e3bb0334e5528fc8a0f8747086348d1a195c82' }, this.renderEmptyState(), this.renderOrderByEditor()));
72
+ return (h(Host, { key: 'f07a3f1c4a9343f135c10bdc43d79680e3274de1' }, this.renderEmptyState(), this.renderOrderByEditor()));
73
73
  }
74
74
  renderEmptyState() {
75
75
  if (this.limetype) {
@@ -38,9 +38,9 @@ export class OrderByItemComponent {
38
38
  render() {
39
39
  const propertyPath = Object.keys(this.item)[0] || '';
40
40
  const direction = this.item[propertyPath] || 'ASC';
41
- return (h(Host, { key: '8d91628467c6ec1912d1f87a7922464e5341c8e1' }, h("limebb-property-selector", { key: '26e7729c7c43f91e02446ad45aa59c56922b377c', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: propertyPath, required: true, onChange: this.handlePathChange }), h("div", { key: '1926ad94ddb9d4c2112007068ab4cbf38057622b', class: "control-buttons" }, h("limel-icon-button", { key: '96e4595c737c68ccb30d90295ba6115ec2c7a014', icon: direction === 'ASC'
41
+ return (h(Host, { key: 'c9b2b646168244202c613291c64c021bb5413485' }, h("limebb-property-selector", { key: '064d00c498c3b2482eaf9aa1c9ec07df56f07519', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: propertyPath, required: true, onChange: this.handlePathChange }), h("div", { key: 'dbd7d76b2ecff36d51f345253db328e3ce759519', class: "control-buttons" }, h("limel-icon-button", { key: '098c00b348086a6b83643f0b4b35c3511b6f6e2a', icon: direction === 'ASC'
42
42
  ? 'sort_ascending'
43
- : 'sort_descending', label: direction === 'ASC' ? 'Ascending' : 'Descending', onClick: this.handleToggleDirection }), h("limel-icon-button", { key: 'eee7957506516cc344007ae12a94381a33f9171b', icon: "trash", label: "Remove", onClick: this.handleRemove }))));
43
+ : 'sort_descending', label: direction === 'ASC' ? 'Ascending' : 'Descending', onClick: this.handleToggleDirection }), h("limel-icon-button", { key: '0162292f614b75bb7ab223478201b9a56d4a9df4', icon: "trash", label: "Remove", onClick: this.handleRemove }))));
44
44
  }
45
45
  static get is() { return "limebb-lime-query-order-by-item"; }
46
46
  static get encapsulation() { return "shadow"; }
@@ -66,7 +66,7 @@ export class ResponseFormatItem {
66
66
  }
67
67
  render() {
68
68
  return [
69
- h("div", { key: '98518fb21bacceef31e398faf0e7d66d92152a9f', class: "property-controls" }, h("div", { key: '1d636436ce63b930abdfb40600106d0d8f643663', class: "property-path" }, h("limebb-property-selector", { key: '3e0fa6a5c5c414c70e38b52f7157a806be8358df', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: this.item.path, required: true, onChange: this.handlePathChange }), h("div", { key: '03bc814455e46812ad7365ddf893431e97b255df', class: "input-grid" }, this.renderAliasInput()), h("div", { key: '8d6b47ff44a01288e9875494b1fea5a57649205f', class: "input-grid" }, this.renderDescriptionInput()), h("div", { key: 'e2e4741bc80c0fef0741f153c7183b8a12da7aa9', class: "button-group" }, this.renderAliasButton(), this.renderDescriptionButton())), h("limel-icon-button", { key: '7f204e6331dbcd0e8e62a5e9a61676f62b14a045', icon: "trash", label: "Remove property", onClick: this.handleRemove })),
69
+ h("div", { key: 'd64c80f48ebdb1a716ba8a9bcb57f168929c3f63', class: "property-controls" }, h("div", { key: 'c562b74c745e958337850d1c12bd9ee01f681c6c', class: "property-path" }, h("limebb-property-selector", { key: 'ae80e4606cbe91e30ca5b3c55495a9a895df40b0', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: this.item.path, required: true, onChange: this.handlePathChange }), h("div", { key: '775da8d9633e517441dafed44bdc78396bbeade9', class: "input-grid" }, this.renderAliasInput()), h("div", { key: 'a734205bddb9132aae4a27b1bf16376caeb19fdf', class: "input-grid" }, this.renderDescriptionInput()), h("div", { key: 'd93229a166f757e5eb3d436fccf34a6c57b12627', class: "button-group" }, this.renderAliasButton(), this.renderDescriptionButton())), h("limel-icon-button", { key: '33b9209166ce2a2186d06806f52faad115e264cf', icon: "trash", label: "Remove property", onClick: this.handleRemove })),
70
70
  ];
71
71
  }
72
72
  renderAliasButton() {
@@ -5,8 +5,8 @@ import { h } from "@stencil/core";
5
5
  export class LiveDocsInfo {
6
6
  render() {
7
7
  return [
8
- h("div", { key: '36018d23b4f56d1ef1cba8aaf6d24c9e1913fc51', class: "header" }, h("limel-icon", { key: 'e262d9b9b22f4ab604f8786ae20964da908c5179', name: "not_showing_video_frames" }), h("h2", { key: '283107fa6651f1de7308d805b3aa48c479c1b281' }, "Viewing this file type requires ", h("em", { key: '4bb7d2d83e4ae2c073f35038827b5b606448af2d' }, "Live Docs"))),
9
- h("p", { key: '8f5a3fd0b9958f4bdaa11c0f3b82990706100c65' }, h("em", { key: '23aed14b3a3b54c82f63f2fa4aa6016290aebf26' }, "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: 'a018062eefaa0c9b3fff92504e330700979cc407', target: "_blank", href: "https://www.lime-technologies.com/en/lime-crm/live-docs/" }, "Learn more")),
8
+ h("div", { key: 'f75c43c5f4417e7d507a466a69913bf6bfd68381', class: "header" }, h("limel-icon", { key: '9899e83fb9c694a6b0af07a4335d00f631a40416', name: "not_showing_video_frames" }), h("h2", { key: '7f49256ad9e5879fdd0a8ed65ffcc9dce480a556' }, "Viewing this file type requires ", h("em", { key: '1c68ad01ee89f10a1db5bd005eafc99cd32a989a' }, "Live Docs"))),
9
+ h("p", { key: '063ebce7bec6cff1ad7e54701463167d68173d4c' }, h("em", { key: 'e4d924fc0cb9bd4a53c5caf0f95eda32df04b29a' }, "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: '3b8c1fd466995eb977d45f0ef44ce661ff8177da', 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"; }
@@ -2,6 +2,7 @@ import { PlatformServiceName, } from "@limetech/lime-web-components";
2
2
  import { HighlightFeedItemHandler } from "../feed/highlight-item/highlight-item.handler";
3
3
  import { HighlightFeedItemCommand } from "../feed/highlight-item/highlight-item.command";
4
4
  import { attachRuleArgFilterEditorMetadata } from "../rule-editor/rule-arg-filter-editor/rule-arg-filter-editor-metadata";
5
+ import { attachValueComparisonEditorMetadata } from "../rule-editor/value-comparison-editor/value-comparison-editor-metadata";
5
6
  export class CrmComponentsLoader {
6
7
  connectedCallback() { }
7
8
  async componentWillLoad() {
@@ -9,6 +10,7 @@ export class CrmComponentsLoader {
9
10
  this.platform.register(HighlightFeedItemHandler.SERVICE_NAME, highlightFeedItemHandler);
10
11
  this.commandBus.register(HighlightFeedItemCommand, highlightFeedItemHandler);
11
12
  attachRuleArgFilterEditorMetadata(this.platform.get(PlatformServiceName.RuleRegistry));
13
+ attachValueComparisonEditorMetadata(this.platform.get(PlatformServiceName.RuleRegistry));
12
14
  this.loaded.emit();
13
15
  }
14
16
  componentWillUpdate() { }
@@ -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: 'b42d403250d57155547eaa97731bfc471596c224', 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: 'a4afd109575c01a8ab72643fe89854fb40f7345c', 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: 'dff09ced1e8ae05c746912e249f2557de6fce96e', id: this.item.id, class: {
59
+ return (h(Host, { key: 'db1045deee7826d3e3bd235f290bc5f42b1d8462', 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),
@@ -108,11 +108,11 @@ export class PercentageVisualizer {
108
108
  render() {
109
109
  const normalizedValue = this.getNormalizedValue();
110
110
  const zeroPoint = this.getZeroPointPosition();
111
- return (h(Host, { key: 'ea0690be403aa9c1e4e1fc82b788ad159a8a4cc3', class: this.getContainerClassList(), style: {
111
+ return (h(Host, { key: '8401d2ce62e5b3d2d711d90e99b8eb66e445bd74', class: this.getContainerClassList(), style: {
112
112
  '--limebb-percentage-visualizer-zero-point-position': `${zeroPoint}%`,
113
113
  '--limebb-percentage-visualizer-width': `${Math.abs(normalizedValue)}%`,
114
114
  '--limebb-percentage-visualizer-rotate': `${normalizedValue >= 0 ? '0deg' : '180deg'}`,
115
- } }, h("limel-notched-outline", { key: '77b09269ca09806a33b6297692ca7cf79ee68a53', 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: '7b3905e69e8d5b372f7736a9ec40576a23b10385', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
115
+ } }, h("limel-notched-outline", { key: 'd16b715ba31067a1528a847c77521a899c538ed6', 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: '24fae55b60e61d86f66c9ee42f6adac356d04bf4', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
116
116
  }
117
117
  renderVisualization() {
118
118
  if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {
@@ -45,7 +45,7 @@ export class RuleChipPopover {
45
45
  };
46
46
  }
47
47
  render() {
48
- return (h("div", { key: 'a395bf65b1868b0a440881f2c885c7bd9dc741d4', class: "popover" }, this.renderHeader(), this.renderBody()));
48
+ return (h("div", { key: '1128e5c6da6e5ce3a3fd36eb9846eccd4b70e869', class: "popover" }, this.renderHeader(), this.renderBody()));
49
49
  }
50
50
  renderHeader() {
51
51
  var _a, _b, _c, _d;
@@ -126,7 +126,7 @@ export class RuleEditor {
126
126
  'rule-editor': true,
127
127
  'rule-editor--disabled': this.disabled,
128
128
  };
129
- return (h("div", { key: '939efeb92282ce6c60bac6e86dcfe1e8386802c6', class: containerClasses }, this.renderLabel(), h(RuleNodeView, { key: 'd0f829aeda9e2552b39f1ed195d486ea76122ed9', node: this.normalizedValue, path: [], ctx: this.createRenderContext() }), this.renderHelperText()));
129
+ return (h("div", { key: 'baa043c4e594b2474ed91ecca81186990cc521a5', class: containerClasses }, this.renderLabel(), h(RuleNodeView, { key: '686e92a241876347c921a8a9a084c09bbacb598b', node: this.normalizedValue, path: [], ctx: this.createRenderContext() }), this.renderHelperText()));
130
130
  }
131
131
  renderLabel() {
132
132
  if (!this.label) {
@@ -0,0 +1,15 @@
1
+ const VALUE_COMPARISON_ID = 'limetech.value-comparison';
2
+ /**
3
+ * Attach `limebb-value-comparison-editor` as the args editor for the
4
+ * `limetech.value-comparison` primitive, so the rule editor renders an
5
+ * operator and operand instead of a raw JSON field. The primitive itself
6
+ * is defined in limeclient.js; this only fills in the `configComponent`
7
+ * that a non-component library cannot reference.
8
+ *
9
+ * @param registry - the platform's rule registry.
10
+ */
11
+ export const attachValueComparisonEditorMetadata = (registry) => {
12
+ registry.attachMetadata(VALUE_COMPARISON_ID, {
13
+ configComponent: { name: 'limebb-value-comparison-editor' },
14
+ });
15
+ };
@@ -0,0 +1,9 @@
1
+ :host {
2
+ display: block;
3
+ }
4
+
5
+ .rule {
6
+ display: grid;
7
+ gap: 0.5rem;
8
+ grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
9
+ }
@@ -0,0 +1,149 @@
1
+ import { h } from "@stencil/core";
2
+ import { Operator } from "@limetech/lime-web-components";
3
+ const OPERATOR_OPTIONS = [
4
+ { value: Operator.EQUALS, text: 'Equals' },
5
+ { value: Operator.NOT_EQUALS, text: 'Does not equal' },
6
+ { value: Operator.LESS, text: 'Less than' },
7
+ { value: Operator.LESS_OR_EQUAL, text: 'Less than or equal to' },
8
+ { value: Operator.GREATER, text: 'Greater than' },
9
+ { value: Operator.GREATER_OR_EQUAL, text: 'Greater than or equal to' },
10
+ ];
11
+ /**
12
+ * Args editor for the `limetech.value-comparison` rule primitive: an
13
+ * operator from the match-filter {@link Operator} vocabulary plus the value
14
+ * to compare against. The operand is emitted as a number when it parses as
15
+ * one and as a string otherwise; the `valueType` follows from it so the
16
+ * primitive orders numerically for numbers and lexically for strings (ISO
17
+ * date strings sort correctly that way).
18
+ *
19
+ * Emptiness is a separate concern handled by the `limetech.value-is-empty`
20
+ * primitive, so this editor offers comparison operators only.
21
+ *
22
+ * @alpha
23
+ * @private
24
+ */
25
+ export class ValueComparisonEditor {
26
+ constructor() {
27
+ /**
28
+ * @inheritdoc
29
+ */
30
+ this.value = {};
31
+ this.handleOperatorChange = (event) => {
32
+ var _a;
33
+ event.stopPropagation();
34
+ const operator = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.value;
35
+ if (!operator) {
36
+ this.change.emit({});
37
+ return;
38
+ }
39
+ this.change.emit(this.withOperand(operator, this.value.operand));
40
+ };
41
+ this.handleOperandChange = (event) => {
42
+ event.stopPropagation();
43
+ const operator = this.value.operator;
44
+ if (!operator) {
45
+ return;
46
+ }
47
+ this.change.emit(this.withOperand(operator, parseOperand(event.detail)));
48
+ };
49
+ }
50
+ render() {
51
+ const selected = OPERATOR_OPTIONS.find((option) => option.value === this.value.operator);
52
+ return (h("div", { key: 'edb77347e6e20e6a85030297749800edd3eebcfc', class: "rule" }, h("limel-select", { key: '0d5272a422cd36a0d1ac834a873ff865426adf92', label: "When the value", options: OPERATOR_OPTIONS, value: selected, onChange: this.handleOperatorChange }), this.renderOperandInput()));
53
+ }
54
+ renderOperandInput() {
55
+ if (!this.value.operator) {
56
+ return null;
57
+ }
58
+ return (h("limel-input-field", { label: "Compared with", value: this.value.operand === undefined
59
+ ? ''
60
+ : String(this.value.operand), onChange: this.handleOperandChange }));
61
+ }
62
+ withOperand(operator, operand) {
63
+ if (operand === undefined) {
64
+ return { operator };
65
+ }
66
+ return {
67
+ operator,
68
+ operand,
69
+ valueType: typeof operand === 'number' ? 'number' : 'string',
70
+ };
71
+ }
72
+ static get is() { return "limebb-value-comparison-editor"; }
73
+ static get encapsulation() { return "shadow"; }
74
+ static get originalStyleUrls() {
75
+ return {
76
+ "$": ["value-comparison-editor.scss"]
77
+ };
78
+ }
79
+ static get styleUrls() {
80
+ return {
81
+ "$": ["value-comparison-editor.css"]
82
+ };
83
+ }
84
+ static get properties() {
85
+ return {
86
+ "value": {
87
+ "type": "unknown",
88
+ "mutable": false,
89
+ "complexType": {
90
+ "original": "ValueComparisonEditorValue",
91
+ "resolved": "ValueComparisonEditorValue",
92
+ "references": {
93
+ "ValueComparisonEditorValue": {
94
+ "location": "local",
95
+ "path": "/home/runner/work/lime-crm-building-blocks/lime-crm-building-blocks/src/components/rule-editor/value-comparison-editor/value-comparison-editor.tsx",
96
+ "id": "src/components/rule-editor/value-comparison-editor/value-comparison-editor.tsx::ValueComparisonEditorValue"
97
+ }
98
+ }
99
+ },
100
+ "required": false,
101
+ "optional": false,
102
+ "docs": {
103
+ "tags": [{
104
+ "name": "inheritdoc",
105
+ "text": undefined
106
+ }],
107
+ "text": "The value of the current property"
108
+ },
109
+ "getter": false,
110
+ "setter": false,
111
+ "defaultValue": "{}"
112
+ }
113
+ };
114
+ }
115
+ static get events() {
116
+ return [{
117
+ "method": "change",
118
+ "name": "change",
119
+ "bubbles": true,
120
+ "cancelable": true,
121
+ "composed": true,
122
+ "docs": {
123
+ "tags": [{
124
+ "name": "inheritdoc",
125
+ "text": undefined
126
+ }],
127
+ "text": "The event to emit when the value of the current property has changed"
128
+ },
129
+ "complexType": {
130
+ "original": "ValueComparisonEditorValue",
131
+ "resolved": "ValueComparisonEditorValue",
132
+ "references": {
133
+ "ValueComparisonEditorValue": {
134
+ "location": "local",
135
+ "path": "/home/runner/work/lime-crm-building-blocks/lime-crm-building-blocks/src/components/rule-editor/value-comparison-editor/value-comparison-editor.tsx",
136
+ "id": "src/components/rule-editor/value-comparison-editor/value-comparison-editor.tsx::ValueComparisonEditorValue"
137
+ }
138
+ }
139
+ }
140
+ }];
141
+ }
142
+ }
143
+ function parseOperand(raw) {
144
+ if (raw.trim() === '') {
145
+ return undefined;
146
+ }
147
+ const parsed = Number(raw);
148
+ return Number.isNaN(parsed) ? raw : parsed;
149
+ }
@@ -26,7 +26,7 @@ export class RuleGate {
26
26
  this.compileAndEvaluate();
27
27
  }
28
28
  render() {
29
- return (h(Host, { key: '8fe8b9fad90211b80b4672563f6d599ce1cb11c3', hidden: !this.shouldRender }, h("slot", { key: 'f434d25308b85fd084d369ccf2b0e22bd3513210' })));
29
+ return (h(Host, { key: 'bb6a8a31d0694bfae30bfeb1644f5c21e69d53b5', hidden: !this.shouldRender }, h("slot", { key: '492e995687b48971ad8c539749044677d79756ae' })));
30
30
  }
31
31
  get ruleRegistry() {
32
32
  return this.platform.get(PlatformServiceName.RuleRegistry);
@@ -128,9 +128,9 @@ export class SummaryPopover {
128
128
  top: '0.125rem',
129
129
  right: '0.125rem',
130
130
  };
131
- return (h("limel-popover", { key: '7e4e777539c58689faf6a0e69c5f2cf8ed771641', style: {
131
+ return (h("limel-popover", { key: '2921a70dfadb685910ea3cf9048e055a1b0915b0', style: {
132
132
  '--limebb-summary-popover-timeout': `${this.triggerDelay}ms`,
133
- }, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("div", { key: '21e0e2569a1abdb404c0c6dbd80714f7ff794ca1', slot: "trigger", onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocusin: this.openPopoverWithDelay }, h("slot", { key: 'c771e4d9aa10acd6a0a044be4d01d611e22bcc13', name: "trigger" }), h("div", { key: '0c25b9418a311fdf7b700f76a8dbadeea5fb8010', class: "opening-countdown-indicator" })), this.renderCard(closeButtonStyle)));
133
+ }, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("div", { key: '7d461d98236e711eecd468f52823379fd7b4394b', slot: "trigger", onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocusin: this.openPopoverWithDelay }, h("slot", { key: 'bc2006a584bb4d22c9b286cba6f646f3c51bdad5', name: "trigger" }), h("div", { key: '1d423d67b1a9b0b6aa5145f7ecf2ad51b5d53ddf', class: "opening-countdown-indicator" })), this.renderCard(closeButtonStyle)));
134
134
  }
135
135
  renderCard(closeButtonStyle) {
136
136
  return (h("limel-card", { style: {
@@ -13,8 +13,8 @@ export class MentionGroupCounter {
13
13
  render() {
14
14
  const label = this.getLabel();
15
15
  return [
16
- h("span", { key: '24bc1b7b14ada4e19a4f560455cbb26bfd0b83b7', id: this.tooltipId }, label),
17
- h("limel-tooltip", { key: '81a8ce747eea55013b9968a2f3eceb652257355f', elementId: this.tooltipId, label: label, helperLabel: this.helperLabel }),
16
+ h("span", { key: '6edb8784223f8e82c693bcd28f5d130fe358101e', id: this.tooltipId }, label),
17
+ h("limel-tooltip", { key: '6e5011c4ff8e8fa06cc99fa54309ebb8ff146d9d', elementId: this.tooltipId, label: label, helperLabel: this.helperLabel }),
18
18
  ];
19
19
  }
20
20
  getLabel() {
@@ -391,7 +391,7 @@ export class LimeBBTextEditor {
391
391
  }
392
392
  render() {
393
393
  return [
394
- h("limel-text-editor", { key: '58b3a06b62159010bab0d99fe48ae3d9ebc0bc5e', 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 }),
394
+ h("limel-text-editor", { key: '02fa86e5bab31e3fa1c669843ff1ce57dc815e12', 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 }),
395
395
  this.renderPicker(),
396
396
  ];
397
397
  }
@@ -69,7 +69,7 @@ export class TrendIndicator {
69
69
  this.numValue = this.parseValue(this.value);
70
70
  }
71
71
  render() {
72
- return (h(Host, { key: 'ea5709dccccd0ca07684bd221e7f5fe79b76dae4', class: this.getContainerClassList() }, h("limel-notched-outline", { key: '952a07d4e934d589460a8848a52bad130f351cdf', 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: 'a620318b3edea23636d656654da65c9532b4a5f0', slot: "content", tabIndex: 0 }, this.renderVisualization())), this.renderHelperLine(), this.renderTooltip()));
72
+ return (h(Host, { key: '156ed22ec35266d2c298ba60bec7edeaecaae4c4', class: this.getContainerClassList() }, h("limel-notched-outline", { key: 'dff7957aa5e286373ab29a9cda30cab982fecebc', 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: '86b950603fd262cffc074a1020a7231e04979470', slot: "content", tabIndex: 0 }, this.renderVisualization())), this.renderHelperLine(), this.renderTooltip()));
73
73
  }
74
74
  renderVisualization() {
75
75
  if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {