@limetech/lime-crm-building-blocks 1.133.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 (294) hide show
  1. package/CHANGELOG.md +20 -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 +28 -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 +11 -3
  54. package/dist/cjs/limebb-rule-editor.cjs.entry.js +74 -4
  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/chip-picker-view.js +9 -2
  102. package/dist/collection/components/rule-editor/rule-arg-filter-editor/rule-arg-filter-editor-metadata.js +10 -0
  103. package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.js +30 -2
  104. package/dist/collection/components/rule-editor/rule-editor.js +53 -2
  105. package/dist/collection/components/rule-editor/rule-operations.js +15 -2
  106. package/dist/collection/components/rule-editor/value-comparison-editor/value-comparison-editor-metadata.js +15 -0
  107. package/dist/collection/components/rule-editor/value-comparison-editor/value-comparison-editor.css +9 -0
  108. package/dist/collection/components/rule-editor/value-comparison-editor/value-comparison-editor.js +149 -0
  109. package/dist/collection/components/rule-gate/rule-gate.js +1 -1
  110. package/dist/collection/components/summary-popover/summary-popover.js +2 -2
  111. package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
  112. package/dist/collection/components/text-editor/text-editor.js +1 -1
  113. package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
  114. package/dist/components/chat-icon-list.js +1 -1
  115. package/dist/components/chat-item.js +1 -1
  116. package/dist/components/currency-picker.js +1 -1
  117. package/dist/components/date-picker.js +1 -1
  118. package/dist/components/document-item.js +1 -1
  119. package/dist/components/feed-item-thumbnail-file-info.js +1 -1
  120. package/dist/components/feed-timeline-item.js +1 -1
  121. package/dist/components/kanban-group.js +1 -1
  122. package/dist/components/kanban-item.js +1 -1
  123. package/dist/components/lime-query-filter-comparison-editor.js +1 -1
  124. package/dist/components/lime-query-filter-comparison.js +1 -1
  125. package/dist/components/lime-query-filter-expression.js +1 -1
  126. package/dist/components/limebb-alert-dialog.js +1 -1
  127. package/dist/components/limebb-browser.js +1 -1
  128. package/dist/components/limebb-chat-list.js +1 -1
  129. package/dist/components/limebb-color-palette-picker.js +1 -1
  130. package/dist/components/limebb-color-palette-swatches.js +1 -1
  131. package/dist/components/limebb-composer-toolbar.js +1 -1
  132. package/dist/components/limebb-dashboard-widget.js +1 -1
  133. package/dist/components/limebb-date-range.js +1 -1
  134. package/dist/components/limebb-document-chips.js +1 -1
  135. package/dist/components/limebb-document-picker.js +1 -1
  136. package/dist/components/limebb-feed.js +1 -1
  137. package/dist/components/limebb-icon-picker.js +1 -1
  138. package/dist/components/limebb-info-tile-format.js +1 -1
  139. package/dist/components/limebb-info-tile.js +1 -1
  140. package/dist/components/limebb-lime-query-builder.js +1 -1
  141. package/dist/components/limebb-lime-query-response-format-builder.js +1 -1
  142. package/dist/components/limebb-loader.js +1 -1
  143. package/dist/components/limebb-locale-picker.js +1 -1
  144. package/dist/components/limebb-mention-group-counter.js +1 -1
  145. package/dist/components/limebb-rule-editor.js +1 -1
  146. package/dist/components/limebb-rule-gate.js +1 -1
  147. package/dist/components/limebb-text-editor.js +1 -1
  148. package/dist/components/limebb-trend-indicator.js +1 -1
  149. package/dist/components/limebb-value-comparison-editor.d.ts +11 -0
  150. package/dist/components/limebb-value-comparison-editor.js +1 -0
  151. package/dist/components/limetype-field.js +1 -1
  152. package/dist/components/live-docs-info.js +1 -1
  153. package/dist/components/notification-item.js +1 -1
  154. package/dist/components/order-by-editor.js +1 -1
  155. package/dist/components/order-by-item.js +1 -1
  156. package/dist/components/percentage-visualizer.js +1 -1
  157. package/dist/components/response-format-item.js +1 -1
  158. package/dist/components/rule-chip-popover.js +1 -1
  159. package/dist/components/summary-popover.js +1 -1
  160. package/dist/components/typing-indicator.js +1 -1
  161. package/dist/esm/{filter-group-logic-RXn-GGk1.js → filter-group-logic-1aucZQgy.js} +1 -1
  162. package/dist/esm/{index.esm-DAe4_MLR.js → index.esm-B1KM7sH7.js} +1 -1
  163. package/dist/esm/lime-crm-building-blocks.js +1 -1
  164. package/dist/esm/{lime-query-operators-DYlN1dAt.js → lime-query-operators-DvI2OyJI.js} +1 -1
  165. package/dist/esm/{lime-query-validation-DXxPZ2CH.js → lime-query-validation-CiIEITCJ.js} +1 -1
  166. package/dist/esm/limebb-alert-dialog.entry.js +1 -1
  167. package/dist/esm/limebb-browser.entry.js +3 -3
  168. package/dist/esm/limebb-chat-icon-list_3.entry.js +5 -5
  169. package/dist/esm/limebb-chat-list.entry.js +2 -2
  170. package/dist/esm/limebb-color-palette-picker.entry.js +1 -1
  171. package/dist/esm/limebb-color-palette-swatches.entry.js +1 -1
  172. package/dist/esm/limebb-component-config.entry.js +1 -1
  173. package/dist/esm/limebb-component-picker.entry.js +1 -1
  174. package/dist/esm/limebb-composer-toolbar.entry.js +3 -3
  175. package/dist/esm/limebb-currency-picker.entry.js +2 -2
  176. package/dist/esm/limebb-dashboard-widget.entry.js +1 -1
  177. package/dist/esm/limebb-data-cells.entry.js +1 -1
  178. package/dist/esm/limebb-date-picker.entry.js +2 -2
  179. package/dist/esm/limebb-date-range.entry.js +1 -1
  180. package/dist/esm/limebb-document-chips.entry.js +1 -1
  181. package/dist/esm/limebb-document-item.entry.js +2 -2
  182. package/dist/esm/limebb-document-picker.entry.js +1 -1
  183. package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
  184. package/dist/esm/limebb-feed-timeline-item.entry.js +2 -2
  185. package/dist/esm/limebb-feed.entry.js +2 -2
  186. package/dist/esm/limebb-icon-picker.entry.js +1 -1
  187. package/dist/esm/limebb-info-tile-format.entry.js +1 -1
  188. package/dist/esm/limebb-info-tile.entry.js +44 -9
  189. package/dist/esm/limebb-kanban-group.entry.js +2 -2
  190. package/dist/esm/limebb-kanban-item.entry.js +2 -2
  191. package/dist/esm/limebb-lime-query-builder.entry.js +3 -3
  192. package/dist/esm/limebb-lime-query-filter-builder.entry.js +2 -2
  193. package/dist/esm/limebb-lime-query-filter-comparison-editor_4.entry.js +7 -7
  194. package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +4 -4
  195. package/dist/esm/limebb-lime-query-order-by-editor_2.entry.js +4 -4
  196. package/dist/esm/limebb-lime-query-order-by-item.entry.js +2 -2
  197. package/dist/esm/limebb-lime-query-response-format-builder.entry.js +3 -3
  198. package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +1 -1
  199. package/dist/esm/limebb-limeobject-file-viewer.entry.js +1 -1
  200. package/dist/esm/limebb-live-docs-info.entry.js +2 -2
  201. package/dist/esm/limebb-loader.entry.js +28 -1
  202. package/dist/esm/limebb-locale-picker.entry.js +2 -2
  203. package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
  204. package/dist/esm/limebb-mention.entry.js +1 -1
  205. package/dist/esm/limebb-navigation-button_2.entry.js +2 -2
  206. package/dist/esm/limebb-notification-item.entry.js +2 -2
  207. package/dist/esm/limebb-notification-list.entry.js +1 -1
  208. package/dist/esm/limebb-object-chip.entry.js +2 -2
  209. package/dist/esm/limebb-percentage-visualizer.entry.js +3 -3
  210. package/dist/esm/limebb-property-selector.entry.js +2 -2
  211. package/dist/esm/limebb-rule-arg-filter-editor.entry.js +1 -1
  212. package/dist/esm/limebb-rule-chip-popover.entry.js +11 -3
  213. package/dist/esm/limebb-rule-editor.entry.js +74 -4
  214. package/dist/esm/limebb-rule-gate.entry.js +2 -2
  215. package/dist/esm/limebb-text-editor.entry.js +3 -3
  216. package/dist/esm/limebb-trend-indicator.entry.js +2 -2
  217. package/dist/esm/limebb-value-comparison-editor.entry.js +73 -0
  218. package/dist/esm/{limetype-C1wEJnPI.js → limetype-CIkoDD1B.js} +1 -1
  219. package/dist/esm/loader.js +1 -1
  220. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  221. package/dist/lime-crm-building-blocks/{p-692084d2.entry.js → p-041f1094.entry.js} +1 -1
  222. package/dist/lime-crm-building-blocks/{p-3c437049.entry.js → p-096ea04d.entry.js} +1 -1
  223. package/dist/lime-crm-building-blocks/{p-7f5c97fe.entry.js → p-0d6d8b72.entry.js} +1 -1
  224. package/dist/lime-crm-building-blocks/{p-dc1d543d.entry.js → p-16fad0a8.entry.js} +1 -1
  225. package/dist/lime-crm-building-blocks/{p-56bb13b2.entry.js → p-191e4dcd.entry.js} +1 -1
  226. package/dist/lime-crm-building-blocks/{p-8ed7b025.entry.js → p-1a076d37.entry.js} +1 -1
  227. package/dist/lime-crm-building-blocks/{p-efab4f7e.entry.js → p-1b5f48c2.entry.js} +1 -1
  228. package/dist/lime-crm-building-blocks/{p-81655182.entry.js → p-201498a9.entry.js} +1 -1
  229. package/dist/lime-crm-building-blocks/{p-c7c5991f.entry.js → p-26e25dbd.entry.js} +1 -1
  230. package/dist/lime-crm-building-blocks/{p-24337de2.entry.js → p-29dd2424.entry.js} +1 -1
  231. package/dist/lime-crm-building-blocks/{p-563d69ff.entry.js → p-30f6d7ea.entry.js} +1 -1
  232. package/dist/lime-crm-building-blocks/{p-99464fa7.entry.js → p-340250da.entry.js} +1 -1
  233. package/dist/lime-crm-building-blocks/{p-18ce3ce5.entry.js → p-3f2f1826.entry.js} +1 -1
  234. package/dist/lime-crm-building-blocks/{p-4c10bea0.entry.js → p-46225433.entry.js} +1 -1
  235. package/dist/lime-crm-building-blocks/{p-68a951f5.entry.js → p-4cd99453.entry.js} +1 -1
  236. package/dist/lime-crm-building-blocks/{p-464b02c2.entry.js → p-52d8f7c2.entry.js} +1 -1
  237. package/dist/lime-crm-building-blocks/p-555da984.entry.js +1 -0
  238. package/dist/lime-crm-building-blocks/{p-efb70fbb.entry.js → p-6299c46b.entry.js} +1 -1
  239. package/dist/lime-crm-building-blocks/{p-b16bbda2.entry.js → p-69cf07ba.entry.js} +1 -1
  240. package/dist/lime-crm-building-blocks/{p-47a7b3fd.entry.js → p-6c4521a0.entry.js} +1 -1
  241. package/dist/lime-crm-building-blocks/{p-8d5311e4.entry.js → p-6f0a5401.entry.js} +1 -1
  242. package/dist/lime-crm-building-blocks/{p-7d969bbe.entry.js → p-71e1c5f0.entry.js} +1 -1
  243. package/dist/lime-crm-building-blocks/p-759d0fc2.entry.js +1 -0
  244. package/dist/lime-crm-building-blocks/{p-5eef1781.entry.js → p-7aaf805d.entry.js} +1 -1
  245. package/dist/lime-crm-building-blocks/{p-8d14a58a.entry.js → p-8c3970ed.entry.js} +1 -1
  246. package/dist/lime-crm-building-blocks/{p-a5850f04.entry.js → p-9909b0bf.entry.js} +1 -1
  247. package/dist/lime-crm-building-blocks/p-991783f8.entry.js +1 -0
  248. package/dist/lime-crm-building-blocks/{p-DzXJyKRS.js → p-B5QzrGTX.js} +1 -1
  249. package/dist/lime-crm-building-blocks/{p-D3UYWGdn.js → p-BneXZK-Q.js} +1 -1
  250. package/dist/lime-crm-building-blocks/{p-BbFGcMnU.js → p-DK4A47Sj.js} +1 -1
  251. package/dist/lime-crm-building-blocks/{p-y_s8hZmV.js → p-DjwVpKf5.js} +1 -1
  252. package/dist/lime-crm-building-blocks/{p-5a718d20.entry.js → p-a21d6f7e.entry.js} +1 -1
  253. package/dist/lime-crm-building-blocks/{p-43af24b5.entry.js → p-a2c8e1af.entry.js} +1 -1
  254. package/dist/lime-crm-building-blocks/p-a8684418.entry.js +1 -0
  255. package/dist/lime-crm-building-blocks/{p-0ba1294a.entry.js → p-b264b37d.entry.js} +1 -1
  256. package/dist/lime-crm-building-blocks/{p-ecd0280d.entry.js → p-b431df3c.entry.js} +1 -1
  257. package/dist/lime-crm-building-blocks/{p-22296e19.entry.js → p-b4b103c1.entry.js} +1 -1
  258. package/dist/lime-crm-building-blocks/{p-0fac2307.entry.js → p-b7d917ed.entry.js} +1 -1
  259. package/dist/lime-crm-building-blocks/p-c0d39ae4.entry.js +1 -0
  260. package/dist/lime-crm-building-blocks/{p-8238723b.entry.js → p-c4c3f054.entry.js} +1 -1
  261. package/dist/lime-crm-building-blocks/{p-072756ea.entry.js → p-c6cc1438.entry.js} +1 -1
  262. package/dist/lime-crm-building-blocks/{p-bd264cfa.entry.js → p-c72d3231.entry.js} +1 -1
  263. package/dist/lime-crm-building-blocks/{p-a6103d04.entry.js → p-c7dbd961.entry.js} +1 -1
  264. package/dist/lime-crm-building-blocks/{p-b01f2045.entry.js → p-c8cf6e4d.entry.js} +1 -1
  265. package/dist/lime-crm-building-blocks/{p-1dfdf045.entry.js → p-cea4fe16.entry.js} +1 -1
  266. package/dist/lime-crm-building-blocks/p-d6ac6cd3.entry.js +1 -0
  267. package/dist/lime-crm-building-blocks/{p-7a4704dc.entry.js → p-d8835b8c.entry.js} +1 -1
  268. package/dist/lime-crm-building-blocks/{p-603ab702.entry.js → p-e1223704.entry.js} +1 -1
  269. package/dist/lime-crm-building-blocks/p-e174dccd.entry.js +1 -0
  270. package/dist/lime-crm-building-blocks/{p-725e6748.entry.js → p-ec22438d.entry.js} +1 -1
  271. package/dist/lime-crm-building-blocks/{p-dc3a86f3.entry.js → p-efd62913.entry.js} +1 -1
  272. package/dist/lime-crm-building-blocks/{p-9639c6ee.entry.js → p-f22e2539.entry.js} +1 -1
  273. package/dist/lime-crm-building-blocks/{p-3996a598.entry.js → p-f58d25e5.entry.js} +1 -1
  274. package/dist/lime-crm-building-blocks/{p-16fa6f3e.entry.js → p-fac7ff61.entry.js} +1 -1
  275. package/dist/lime-crm-building-blocks/{p-5006c5ea.entry.js → p-fb23df8e.entry.js} +1 -1
  276. package/dist/lime-crm-building-blocks/{p-7b9359cc.entry.js → p-ff686a4e.entry.js} +1 -1
  277. package/dist/types/components/info-tile/info-tile.d.ts +50 -1
  278. package/dist/types/components/rule-editor/chip-picker-view.d.ts +8 -0
  279. package/dist/types/components/rule-editor/rule-arg-filter-editor/rule-arg-filter-editor-metadata.d.ts +4 -0
  280. package/dist/types/components/rule-editor/rule-chip-popover/rule-chip-popover.d.ts +8 -0
  281. package/dist/types/components/rule-editor/rule-editor-views.d.ts +6 -0
  282. package/dist/types/components/rule-editor/rule-editor.d.ts +14 -0
  283. package/dist/types/components/rule-editor/rule-operations.d.ts +8 -0
  284. package/dist/types/components/rule-editor/value-comparison-editor/value-comparison-editor-metadata.d.ts +12 -0
  285. package/dist/types/components/rule-editor/value-comparison-editor/value-comparison-editor.d.ts +45 -0
  286. package/dist/types/components.d.ts +127 -0
  287. package/package.json +4 -4
  288. package/dist/lime-crm-building-blocks/p-07ef2fd0.entry.js +0 -1
  289. package/dist/lime-crm-building-blocks/p-4e0d077b.entry.js +0 -1
  290. package/dist/lime-crm-building-blocks/p-55692241.entry.js +0 -1
  291. package/dist/lime-crm-building-blocks/p-898b097e.entry.js +0 -1
  292. package/dist/lime-crm-building-blocks/p-95a3cf87.entry.js +0 -1
  293. package/dist/lime-crm-building-blocks/p-ec335be5.entry.js +0 -1
  294. /package/dist/lime-crm-building-blocks/{p-CqRNpSRV.js → p-BVxuJgRM.js} +0 -0
@@ -66,7 +66,7 @@ export class DatePicker {
66
66
  if (this.value) {
67
67
  this.shouldEmitValueAsString = typeof this.value === 'string';
68
68
  }
69
- return (h("limel-date-picker", { key: '03fcd4817bc780ed9869e07351b2fc20008af09d', disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, label: this.label, placeholder: this.placeholder, helperText: this.helperText, required: this.required, value: this.parseDateValue(), type: this.type, language: this.language, formatter: this.formatter, onChange: this.handleChange }));
69
+ return (h("limel-date-picker", { key: 'a4b3c97cf7d9261e6d9e97faeec5be9eae4cacf0', disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, label: this.label, placeholder: this.placeholder, helperText: this.helperText, required: this.required, value: this.parseDateValue(), type: this.type, language: this.language, formatter: this.formatter, onChange: this.handleChange }));
70
70
  }
71
71
  parseDateValue() {
72
72
  const value = this.value;
@@ -33,7 +33,7 @@ export class DateRange {
33
33
  this.originalEndTime = this.endTime;
34
34
  }
35
35
  render() {
36
- return (h("div", { key: 'dd12ade7e65a27dc92fc3c6819e9fd40993bb292', class: "date-pickers" }, this.renderStartDatePicker(), this.renderEndDatePicker()));
36
+ return (h("div", { key: 'bb16bab4456c6d321e7c9a7e3fc9b16ace0d9451', class: "date-pickers" }, this.renderStartDatePicker(), this.renderEndDatePicker()));
37
37
  }
38
38
  renderStartDatePicker() {
39
39
  if (!this.originalStartTime) {
@@ -44,7 +44,7 @@ export class DocumentChips {
44
44
  this.revokeAllBlobUrls();
45
45
  }
46
46
  render() {
47
- return (h(Host, { key: 'a4cf5bdcef2b8dc9b206b333baa4ad13e5c11b3e', role: "list", "aria-label": this.accessibleLabel }, this.files.map((file) => this.renderFile(file))));
47
+ return (h(Host, { key: '3ed9e562b60216e670aff7f4553b5ac2c1728f37', role: "list", "aria-label": this.accessibleLabel }, this.files.map((file) => this.renderFile(file))));
48
48
  }
49
49
  renderFile(file) {
50
50
  const isReady = !file.uploadState || file.uploadState === 'done';
@@ -78,10 +78,10 @@ export class DocumentItemComponent {
78
78
  render() {
79
79
  const isUnavailable = this.isUnavailable();
80
80
  const image = this.getImage();
81
- return (h(Host, { key: '885c9721b9bdedbbb3d74d9e49e646bdf4e54d49', id: String(this.item.file.id), class: {
81
+ return (h(Host, { key: 'b78d90b2f90953d9ad1497e8990c8ba5d4fb6b12', id: String(this.item.file.id), class: {
82
82
  'has-image': !!image,
83
83
  'has-error': !!this.item.hasError,
84
- }, role: this.type === 'radio' ? 'radio' : 'checkbox', "aria-checked": this.item.selected ? 'true' : 'false', "aria-disabled": isUnavailable ? 'true' : 'false', tabIndex: isUnavailable ? -1 : 0 }, h("limel-card", { key: 'f33b96a2624f6f890259f8c47edcd5058dd3d908', image: image, clickable: isUnavailable ? false : true, onClick: this.handleDocumentItemClick, onKeyDown: this.handleKeyDown }, h("div", { key: 'e0b3efdf16c5455c2fabb052908896ca5fc5ce5b', slot: "component" }, this.renderFileSize(), this.renderBooleanInput())), this.renderHelp()));
84
+ }, role: this.type === 'radio' ? 'radio' : 'checkbox', "aria-checked": this.item.selected ? 'true' : 'false', "aria-disabled": isUnavailable ? 'true' : 'false', tabIndex: isUnavailable ? -1 : 0 }, h("limel-card", { key: '9e21c00db9a4acd587a3e1a623dc5344937794bd', image: image, clickable: isUnavailable ? false : true, onClick: this.handleDocumentItemClick, onKeyDown: this.handleKeyDown }, h("div", { key: 'eb5004e183de27119e0bc8d608c613150a4bcb55', slot: "component" }, this.renderFileSize(), this.renderBooleanInput())), this.renderHelp()));
85
85
  }
86
86
  renderBooleanInput() {
87
87
  const id = this.getControlId();
@@ -76,7 +76,7 @@ export class DocumentPicker {
76
76
  this.labelId = createRandomString();
77
77
  }
78
78
  render() {
79
- return (h(Host, { key: '0253a10e5b2d79a176c0d5d538b8cb6545810276' }, h("limel-notched-outline", { key: 'a0c7a019ccd81f94643075086cc837bb29944fb9', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, hasFloatingLabel: true }, h("limel-masonry-layout", { key: 'f984bcb406575f2af8375d0946e59525d8065780', slot: "content", role: this.type === 'radio' ? 'radiogroup' : 'group', "aria-labelledby": this.label ? this.labelId : undefined, "aria-describedby": this.helperText ? this.helperTextId : undefined }, this.renderItems())), this.renderHelperLine()));
79
+ return (h(Host, { key: 'b0b0093bc5681362358e6b61dd396d0914dc1aed' }, h("limel-notched-outline", { key: '58b881645a5446c1aabca255272c0f24f030f1d3', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, hasFloatingLabel: true }, h("limel-masonry-layout", { key: 'd19a596ad4ef247843a93588fb0632ccaea9ebd5', slot: "content", role: this.type === 'radio' ? 'radiogroup' : 'group', "aria-labelledby": this.label ? this.labelId : undefined, "aria-describedby": this.helperText ? this.helperTextId : undefined }, this.renderItems())), this.renderHelperLine()));
80
80
  }
81
81
  renderItems() {
82
82
  return this.items.map((item) => (h("limebb-document-item", { platform: this.platform, context: this.context, item: item, key: item.file.id, type: this.type, onInteract: this.handleItemInteract })));
@@ -205,7 +205,7 @@ export class FeedTimelineItem {
205
205
  render() {
206
206
  var _a, _b;
207
207
  const helperTextId = `helper-text-${this.item.id}`;
208
- return (h(Host, { key: '2ad365b907d0da77fcd0ac20c268f1660390a078', id: this.item.id, class: {
208
+ return (h(Host, { key: '6e0269001c0a99c5792edb611cb62ccc3e58ecfd', id: this.item.id, class: {
209
209
  'has-unpromoted-actions': !!((_a = this.item.unpromotedActions) === null || _a === void 0 ? void 0 : _a.length),
210
210
  'has-author-picture': !!((_b = this.item.author) === null || _b === void 0 ? void 0 : _b.picture),
211
211
  'shows-less': !this.showMore,
@@ -8,7 +8,7 @@ import { h } from "@stencil/core";
8
8
  */
9
9
  export class FeedItemThumbnailFileInfo {
10
10
  render() {
11
- return h("span", { key: 'b935904ec21f27bfa83c0889816bfdaad2b37f8b' }, this.description);
11
+ return h("span", { key: '76d31bb0f3db364c5ef1897d43d0cbeeb2974de7' }, this.description);
12
12
  }
13
13
  static get is() { return "limebb-feed-item-thumbnail-file-info"; }
14
14
  static get encapsulation() { return "shadow"; }
@@ -103,7 +103,7 @@ export class Feed {
103
103
  this.highlighter.unregisterFeed(this.feedItemElement);
104
104
  }
105
105
  render() {
106
- return (h(Host, { key: 'c5df548b29bd1f2a6a2bc133a5095968ca10dd9d', role: "log", "aria-busy": this.loading ? 'true' : 'false', style: {
106
+ return (h(Host, { key: '8af167b2f84c8a2dd00d1f4e8afffd1df3705b59', role: "log", "aria-busy": this.loading ? 'true' : 'false', style: {
107
107
  '--limebb-feed-highlight-duration': `${ITEM_HIGHLIGHT_DURATION}ms`,
108
108
  } }, this.renderLoadMore(), this.renderEmptyFeedMessage(), this.renderSpinner(), this.renderFeedItems()));
109
109
  }
@@ -35,7 +35,7 @@ export class IconPicker {
35
35
  icon: this.value,
36
36
  };
37
37
  }
38
- return (h("limel-picker", { key: 'b3931d11e41ded06563c989433ef7fa6d09ed2ea', 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" }));
38
+ return (h("limel-picker", { key: '654d6f30b1f736540deffeba2ef5fef1ce0de85f', 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" }));
39
39
  }
40
40
  static get is() { return "limebb-icon-picker"; }
41
41
  static get encapsulation() { return "shadow"; }
@@ -92,7 +92,7 @@ export class InfoTileAdminConfig {
92
92
  },
93
93
  ];
94
94
  return [
95
- h("limel-button-group", { key: 'ad44098032f89893e8e9ba287e1d7f786f2a11d7', value: buttons.filter(this.isValidButton), onChange: this.handleChangeType }),
95
+ h("limel-button-group", { key: '3fdfad560123db2b7de25493adf3ed620b76a9d9', value: buttons.filter(this.isValidButton), onChange: this.handleChangeType }),
96
96
  this.renderFormatConfig(),
97
97
  ];
98
98
  }
@@ -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())) {
@@ -9,7 +9,14 @@ function chipTokenFor(index) {
9
9
  // by a two-segment suffix `['rules', index]`. Build and parse via
10
10
  // these helpers so both sides stay in sync.
11
11
  const CHIP_PATH_SUFFIX_LENGTH = 2;
12
- function buildChipPath(groupPath, index) {
12
+ /**
13
+ * Address of the chip at `index` inside a group: the group's path plus
14
+ * the `['rules', index]` suffix. Built here so the picker and popover
15
+ * address chips the same way.
16
+ * @param groupPath
17
+ * @param index
18
+ */
19
+ export function buildChipPath(groupPath, index) {
13
20
  return [...groupPath, 'rules', index];
14
21
  }
15
22
  function parentGroupPath(chipPath) {
@@ -49,7 +56,7 @@ function renderChipPopoverContent(openChip, groupPath, ctx) {
49
56
  return null;
50
57
  }
51
58
  const openChipPath = buildChipPath(groupPath, openChip.index);
52
- return (h("limebb-rule-chip-popover", { platform: ctx.platform, context: ctx.context, refNode: openChip.ref, isNegated: openChip.isNegated, metadata: ctx.metadataById.get(openChip.ref.id), readonly: ctx.readonly, disabled: ctx.disabled, isMutable: ctx.isMutable, onNegate: chipNegateHandler(openChip, openChipPath, ctx), onUpdateArgs: chipArgsHandler(openChip, openChipPath, ctx), onDeleteChip: chipDeleteHandler(openChipPath, ctx) }));
59
+ return (h("limebb-rule-chip-popover", { platform: ctx.platform, context: ctx.context, refNode: openChip.ref, isNegated: openChip.isNegated, metadata: ctx.metadataById.get(openChip.ref.id), readonly: ctx.readonly, disabled: ctx.disabled, isMutable: ctx.isMutable, focusOnOpen: ctx.focusOnOpen, onNegate: chipNegateHandler(openChip, openChipPath, ctx), onUpdateArgs: chipArgsHandler(openChip, openChipPath, ctx), onDeleteChip: chipDeleteHandler(openChipPath, ctx) }));
53
60
  }
54
61
  const chipsChangeHandler = (groupNode, groupPath, chipsByToken, ctx) => (event) => {
55
62
  event.stopPropagation();
@@ -4,9 +4,19 @@ const LIMEOBJECT_MATCHES_FILTER_ID = 'limetech.limeobject-matches-filter';
4
4
  * `limeobject-matches-filter` primitive, so the rule editor renders the
5
5
  * filter builder instead of a raw JSON field.
6
6
  *
7
+ * No-op when the primitive is not registered. `attachMetadata` throws
8
+ * for an unknown id, and this runs at loader time on every surface, so
9
+ * a missing primitive would otherwise block the whole app from loading.
10
+ *
7
11
  * @param registry - the platform's rule registry.
8
12
  */
9
13
  export const attachRuleArgFilterEditorMetadata = (registry) => {
14
+ const isRegistered = registry
15
+ .listPrimitives()
16
+ .some((primitive) => primitive.id === LIMEOBJECT_MATCHES_FILTER_ID);
17
+ if (!isRegistered) {
18
+ return;
19
+ }
10
20
  registry.attachMetadata(LIMEOBJECT_MATCHES_FILTER_ID, {
11
21
  configComponent: { name: 'limebb-rule-arg-filter-editor' },
12
22
  });
@@ -24,6 +24,14 @@ export class RuleChipPopover {
24
24
  this.readonly = false;
25
25
  this.disabled = false;
26
26
  this.isMutable = true;
27
+ /**
28
+ * Forwarded to the embedded config component so it can pull focus
29
+ * when this popover opens. The rule editor sets it only when the chip
30
+ * was just added via the picker, so clicking an existing chip does
31
+ * not steal focus. The component decides when it is ready to receive
32
+ * focus (e.g. after loading its own data).
33
+ */
34
+ this.focusOnOpen = false;
27
35
  this.handleNegateChange = (event) => {
28
36
  event.stopPropagation();
29
37
  this.negate.emit(event.detail);
@@ -37,7 +45,7 @@ export class RuleChipPopover {
37
45
  };
38
46
  }
39
47
  render() {
40
- return (h("div", { key: 'ca7901be2a99590faddea0c678d149b13b5d564f', class: "popover" }, this.renderHeader(), this.renderBody()));
48
+ return (h("div", { key: '1128e5c6da6e5ce3a3fd36eb9846eccd4b70e869', class: "popover" }, this.renderHeader(), this.renderBody()));
41
49
  }
42
50
  renderHeader() {
43
51
  var _a, _b, _c, _d;
@@ -61,7 +69,7 @@ export class RuleChipPopover {
61
69
  if (!configComponent) {
62
70
  return null;
63
71
  }
64
- return (h("div", { class: "popover__body" }, h(LimeWebComponentTemplate, { platform: this.platform, context: this.context, name: configComponent.name, props: Object.assign(Object.assign({}, configComponent.props), { value: (_b = this.refNode) === null || _b === void 0 ? void 0 : _b.args, readonly: this.readonly, disabled: this.disabled, onChange: this.handleArgsChange }) })));
72
+ return (h("div", { class: "popover__body" }, h(LimeWebComponentTemplate, { platform: this.platform, context: this.context, name: configComponent.name, props: Object.assign(Object.assign({}, configComponent.props), { value: (_b = this.refNode) === null || _b === void 0 ? void 0 : _b.args, readonly: this.readonly, disabled: this.disabled, focusOnOpen: this.focusOnOpen, onChange: this.handleArgsChange }) })));
65
73
  }
66
74
  static get is() { return "limebb-rule-chip-popover"; }
67
75
  static get encapsulation() { return "shadow"; }
@@ -252,6 +260,26 @@ export class RuleChipPopover {
252
260
  "reflect": false,
253
261
  "attribute": "is-mutable",
254
262
  "defaultValue": "true"
263
+ },
264
+ "focusOnOpen": {
265
+ "type": "boolean",
266
+ "mutable": false,
267
+ "complexType": {
268
+ "original": "boolean",
269
+ "resolved": "boolean",
270
+ "references": {}
271
+ },
272
+ "required": false,
273
+ "optional": false,
274
+ "docs": {
275
+ "tags": [],
276
+ "text": "Forwarded to the embedded config component so it can pull focus\nwhen this popover opens. The rule editor sets it only when the chip\nwas just added via the picker, so clicking an existing chip does\nnot steal focus. The component decides when it is ready to receive\nfocus (e.g. after loading its own data)."
277
+ },
278
+ "getter": false,
279
+ "setter": false,
280
+ "reflect": false,
281
+ "attribute": "focus-on-open",
282
+ "defaultValue": "false"
255
283
  }
256
284
  };
257
285
  }