@limetech/lime-crm-building-blocks 2.3.1 → 2.4.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 (291) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/{condition-tree-translate-B_qIQz9s.js → condition-tree-translate-BQwKtiNZ.js} +1 -1
  3. package/dist/cjs/{filter-group-logic-Bt5tIbfP.js → filter-group-logic-CeGmYgsu.js} +1 -1
  4. package/dist/cjs/{filter-operators-CzIq9qKC.js → filter-operators-C3T2czC_.js} +1 -1
  5. package/dist/cjs/{index-mDIvByXc.js → index-Du4GyM0Y.js} +13 -8
  6. package/dist/cjs/index.cjs.js +3 -3
  7. package/dist/cjs/{index.esm-D1EzGa8X.js → index.esm-C2zw0QJK.js} +2 -2
  8. package/dist/cjs/lime-crm-building-blocks.cjs.js +3 -3
  9. package/dist/cjs/{lime-query-validation-Df4GZRGm.js → lime-query-validation-CzYkphmi.js} +1 -1
  10. package/dist/cjs/limebb-alert-dialog.cjs.entry.js +1 -1
  11. package/dist/cjs/limebb-browser.cjs.entry.js +2 -2
  12. package/dist/cjs/limebb-chat-icon-list_3.cjs.entry.js +2 -2
  13. package/dist/cjs/limebb-chat-list.cjs.entry.js +2 -2
  14. package/dist/cjs/limebb-color-palette-picker.cjs.entry.js +1 -1
  15. package/dist/cjs/limebb-color-palette-swatches.cjs.entry.js +1 -1
  16. package/dist/cjs/limebb-component-config.cjs.entry.js +3 -3
  17. package/dist/cjs/limebb-component-picker.cjs.entry.js +2 -2
  18. package/dist/cjs/limebb-composer-toolbar.cjs.entry.js +2 -2
  19. package/dist/cjs/limebb-condition-tree-editor.cjs.entry.js +24 -9
  20. package/dist/cjs/limebb-condition-tree.cjs.entry.js +121 -34
  21. package/dist/cjs/limebb-currency-picker.cjs.entry.js +2 -2
  22. package/dist/cjs/limebb-dashboard-widget.cjs.entry.js +1 -1
  23. package/dist/cjs/limebb-data-cells.cjs.entry.js +2 -2
  24. package/dist/cjs/limebb-date-picker.cjs.entry.js +2 -2
  25. package/dist/cjs/limebb-date-range.cjs.entry.js +1 -1
  26. package/dist/cjs/limebb-document-chips.cjs.entry.js +1 -1
  27. package/dist/cjs/limebb-document-item.cjs.entry.js +1 -1
  28. package/dist/cjs/limebb-document-picker.cjs.entry.js +1 -1
  29. package/dist/cjs/limebb-empty-state.cjs.entry.js +1 -1
  30. package/dist/cjs/limebb-feed-item-thumbnail-file-info.cjs.entry.js +1 -1
  31. package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +2 -2
  32. package/dist/cjs/limebb-feed.cjs.entry.js +2 -2
  33. package/dist/cjs/limebb-filter-chip_6.cjs.entry.js +4 -4
  34. package/dist/cjs/limebb-icon-picker.cjs.entry.js +1 -1
  35. package/dist/cjs/limebb-info-tile-currency-format.cjs.entry.js +1 -1
  36. package/dist/cjs/limebb-info-tile-date-format.cjs.entry.js +1 -1
  37. package/dist/cjs/limebb-info-tile-decimal-format.cjs.entry.js +1 -1
  38. package/dist/cjs/limebb-info-tile-format.cjs.entry.js +1 -1
  39. package/dist/cjs/limebb-info-tile-relative-date-format.cjs.entry.js +1 -1
  40. package/dist/cjs/limebb-info-tile-unit-format.cjs.entry.js +1 -1
  41. package/dist/cjs/limebb-info-tile.cjs.entry.js +3 -3
  42. package/dist/cjs/limebb-inline-image.cjs.entry.js +2 -2
  43. package/dist/cjs/limebb-kanban-group.cjs.entry.js +2 -2
  44. package/dist/cjs/limebb-kanban-item.cjs.entry.js +2 -2
  45. package/dist/cjs/limebb-kanban.cjs.entry.js +1 -1
  46. package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +3 -3
  47. package/dist/cjs/limebb-lime-query-filter-builder.cjs.entry.js +3 -3
  48. package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +4 -4
  49. package/dist/cjs/limebb-lime-query-order-by-editor_2.cjs.entry.js +3 -3
  50. package/dist/cjs/limebb-lime-query-order-by-item.cjs.entry.js +1 -1
  51. package/dist/cjs/limebb-lime-query-response-format-builder.cjs.entry.js +3 -3
  52. package/dist/cjs/limebb-lime-query-response-format-editor_2.cjs.entry.js +1 -1
  53. package/dist/cjs/limebb-limeobject-file-viewer.cjs.entry.js +2 -2
  54. package/dist/cjs/limebb-live-docs-info.cjs.entry.js +1 -1
  55. package/dist/cjs/limebb-loader.cjs.entry.js +2 -2
  56. package/dist/cjs/limebb-locale-picker.cjs.entry.js +2 -2
  57. package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +1 -1
  58. package/dist/cjs/limebb-mention.cjs.entry.js +2 -2
  59. package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +1 -1
  60. package/dist/cjs/limebb-notification-item.cjs.entry.js +2 -2
  61. package/dist/cjs/limebb-notification-list.cjs.entry.js +2 -2
  62. package/dist/cjs/limebb-object-chip.cjs.entry.js +3 -3
  63. package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +2 -2
  64. package/dist/cjs/limebb-property-selector.cjs.entry.js +3 -3
  65. package/dist/cjs/limebb-rule-arg-filter-editor.cjs.entry.js +2 -2
  66. package/dist/cjs/limebb-rule-condition-chip.cjs.entry.js +71 -0
  67. package/dist/cjs/limebb-rule-condition-editor-CHWTMOmi.js +285 -0
  68. package/dist/cjs/limebb-rule-condition-editor.cjs.entry.js +9 -0
  69. package/dist/cjs/limebb-rule-editor.cjs.entry.js +217 -573
  70. package/dist/cjs/limebb-rule-gate.cjs.entry.js +2 -2
  71. package/dist/cjs/limebb-text-editor-picker.cjs.entry.js +1 -1
  72. package/dist/cjs/limebb-text-editor.cjs.entry.js +3 -3
  73. package/dist/cjs/limebb-trend-indicator.cjs.entry.js +2 -2
  74. package/dist/cjs/limebb-value-comparison-editor.cjs.entry.js +3 -3
  75. package/dist/cjs/{limetype-BPuuRLtH.js → limetype-BzVDjAKS.js} +1 -1
  76. package/dist/cjs/loader.cjs.js +2 -2
  77. package/dist/cjs/{web-component-template-DRMW9wHN.js → web-component-template-C-AkY5as.js} +1 -1
  78. package/dist/collection/collection-manifest.json +3 -2
  79. package/dist/collection/components/condition-tree/condition-tree-editor/condition-tree-editor.js +46 -5
  80. package/dist/collection/components/condition-tree/condition-tree-nodes.js +13 -6
  81. package/dist/collection/components/condition-tree/condition-tree.js +69 -18
  82. package/dist/collection/components/condition-tree/group-node-view.js +41 -5
  83. package/dist/collection/components/condition-tree/leaf-node-view.js +19 -2
  84. package/dist/collection/components/rule-editor/condition-tree-adapter.js +229 -0
  85. package/dist/collection/components/rule-editor/rule-condition-chip/rule-condition-chip.css +4 -0
  86. package/dist/collection/components/rule-editor/rule-condition-chip/rule-condition-chip.js +322 -0
  87. package/dist/collection/components/rule-editor/rule-condition-editor/rule-condition-editor.css +5 -0
  88. package/dist/collection/components/rule-editor/rule-condition-editor/rule-condition-editor.js +259 -0
  89. package/dist/collection/components/rule-editor/rule-editor.css +1 -73
  90. package/dist/collection/components/rule-editor/rule-editor.js +143 -153
  91. package/dist/collection/components/rule-editor/rule-issues.js +89 -0
  92. package/dist/collection/components/rule-editor/view-helpers.js +19 -41
  93. package/dist/components/condition-tree-adapter.js +1 -0
  94. package/dist/components/condition-tree-editor.js +1 -1
  95. package/dist/components/condition-tree.js +1 -0
  96. package/dist/components/limebb-condition-tree.js +1 -1
  97. package/dist/components/limebb-rule-condition-chip.d.ts +11 -0
  98. package/dist/components/limebb-rule-condition-chip.js +1 -0
  99. package/dist/components/limebb-rule-condition-editor.d.ts +11 -0
  100. package/dist/components/limebb-rule-condition-editor.js +1 -0
  101. package/dist/components/limebb-rule-editor.js +1 -1
  102. package/dist/esm/{condition-tree-translate-CBeXbZ_z.js → condition-tree-translate-ZQptbaXF.js} +1 -1
  103. package/dist/esm/{filter-group-logic-CzThKf85.js → filter-group-logic-nqCMmV0e.js} +1 -1
  104. package/dist/esm/{filter-operators-u3T1PKhm.js → filter-operators-QbKK26m2.js} +1 -1
  105. package/dist/esm/{index-COtSgrC5.js → index-BK566_jX.js} +13 -8
  106. package/dist/esm/{index.esm-B9D_MXA6.js → index.esm-C__n3hug.js} +1 -1
  107. package/dist/esm/index.js +3 -3
  108. package/dist/esm/lime-crm-building-blocks.js +4 -4
  109. package/dist/esm/{lime-query-validation-dGoN_93p.js → lime-query-validation-BvB2v-yP.js} +1 -1
  110. package/dist/esm/limebb-alert-dialog.entry.js +1 -1
  111. package/dist/esm/limebb-browser.entry.js +2 -2
  112. package/dist/esm/limebb-chat-icon-list_3.entry.js +2 -2
  113. package/dist/esm/limebb-chat-list.entry.js +2 -2
  114. package/dist/esm/limebb-color-palette-picker.entry.js +1 -1
  115. package/dist/esm/limebb-color-palette-swatches.entry.js +1 -1
  116. package/dist/esm/limebb-component-config.entry.js +3 -3
  117. package/dist/esm/limebb-component-picker.entry.js +2 -2
  118. package/dist/esm/limebb-composer-toolbar.entry.js +2 -2
  119. package/dist/esm/limebb-condition-tree-editor.entry.js +24 -9
  120. package/dist/esm/limebb-condition-tree.entry.js +121 -34
  121. package/dist/esm/limebb-currency-picker.entry.js +2 -2
  122. package/dist/esm/limebb-dashboard-widget.entry.js +1 -1
  123. package/dist/esm/limebb-data-cells.entry.js +2 -2
  124. package/dist/esm/limebb-date-picker.entry.js +2 -2
  125. package/dist/esm/limebb-date-range.entry.js +1 -1
  126. package/dist/esm/limebb-document-chips.entry.js +1 -1
  127. package/dist/esm/limebb-document-item.entry.js +1 -1
  128. package/dist/esm/limebb-document-picker.entry.js +1 -1
  129. package/dist/esm/limebb-empty-state.entry.js +1 -1
  130. package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
  131. package/dist/esm/limebb-feed-timeline-item.entry.js +2 -2
  132. package/dist/esm/limebb-feed.entry.js +2 -2
  133. package/dist/esm/limebb-filter-chip_6.entry.js +4 -4
  134. package/dist/esm/limebb-icon-picker.entry.js +1 -1
  135. package/dist/esm/limebb-info-tile-currency-format.entry.js +1 -1
  136. package/dist/esm/limebb-info-tile-date-format.entry.js +1 -1
  137. package/dist/esm/limebb-info-tile-decimal-format.entry.js +1 -1
  138. package/dist/esm/limebb-info-tile-format.entry.js +1 -1
  139. package/dist/esm/limebb-info-tile-relative-date-format.entry.js +1 -1
  140. package/dist/esm/limebb-info-tile-unit-format.entry.js +1 -1
  141. package/dist/esm/limebb-info-tile.entry.js +3 -3
  142. package/dist/esm/limebb-inline-image.entry.js +2 -2
  143. package/dist/esm/limebb-kanban-group.entry.js +2 -2
  144. package/dist/esm/limebb-kanban-item.entry.js +2 -2
  145. package/dist/esm/limebb-kanban.entry.js +1 -1
  146. package/dist/esm/limebb-lime-query-builder.entry.js +3 -3
  147. package/dist/esm/limebb-lime-query-filter-builder.entry.js +3 -3
  148. package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +4 -4
  149. package/dist/esm/limebb-lime-query-order-by-editor_2.entry.js +3 -3
  150. package/dist/esm/limebb-lime-query-order-by-item.entry.js +1 -1
  151. package/dist/esm/limebb-lime-query-response-format-builder.entry.js +3 -3
  152. package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +1 -1
  153. package/dist/esm/limebb-limeobject-file-viewer.entry.js +2 -2
  154. package/dist/esm/limebb-live-docs-info.entry.js +1 -1
  155. package/dist/esm/limebb-loader.entry.js +2 -2
  156. package/dist/esm/limebb-locale-picker.entry.js +2 -2
  157. package/dist/esm/limebb-mention-group-counter.entry.js +1 -1
  158. package/dist/esm/limebb-mention.entry.js +2 -2
  159. package/dist/esm/limebb-navigation-button_2.entry.js +1 -1
  160. package/dist/esm/limebb-notification-item.entry.js +2 -2
  161. package/dist/esm/limebb-notification-list.entry.js +2 -2
  162. package/dist/esm/limebb-object-chip.entry.js +3 -3
  163. package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
  164. package/dist/esm/limebb-property-selector.entry.js +3 -3
  165. package/dist/esm/limebb-rule-arg-filter-editor.entry.js +2 -2
  166. package/dist/esm/limebb-rule-condition-chip.entry.js +69 -0
  167. package/dist/esm/limebb-rule-condition-editor-DeY758N-.js +281 -0
  168. package/dist/esm/limebb-rule-condition-editor.entry.js +3 -0
  169. package/dist/esm/limebb-rule-editor.entry.js +217 -573
  170. package/dist/esm/limebb-rule-gate.entry.js +2 -2
  171. package/dist/esm/limebb-text-editor-picker.entry.js +1 -1
  172. package/dist/esm/limebb-text-editor.entry.js +3 -3
  173. package/dist/esm/limebb-trend-indicator.entry.js +2 -2
  174. package/dist/esm/limebb-value-comparison-editor.entry.js +3 -3
  175. package/dist/esm/{limetype-BcELY1NF.js → limetype-Muf9VutX.js} +1 -1
  176. package/dist/esm/loader.js +3 -3
  177. package/dist/esm/{web-component-template-DxbwHsvw.js → web-component-template-D1JpeNy_.js} +1 -1
  178. package/dist/lime-crm-building-blocks/index.esm.js +1 -1
  179. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  180. package/dist/lime-crm-building-blocks/p-0621e884.entry.js +1 -0
  181. package/dist/lime-crm-building-blocks/{p-ab0f8170.entry.js → p-087d5651.entry.js} +1 -1
  182. package/dist/lime-crm-building-blocks/{p-ce2755a0.entry.js → p-1917956c.entry.js} +1 -1
  183. package/dist/lime-crm-building-blocks/{p-07a9c8f2.entry.js → p-1ae4962d.entry.js} +1 -1
  184. package/dist/lime-crm-building-blocks/{p-021e452a.entry.js → p-23d2632b.entry.js} +1 -1
  185. package/dist/lime-crm-building-blocks/{p-ffca266e.entry.js → p-251784bf.entry.js} +1 -1
  186. package/dist/lime-crm-building-blocks/{p-635a45ad.entry.js → p-27240bb0.entry.js} +1 -1
  187. package/dist/lime-crm-building-blocks/p-2adeac66.entry.js +1 -0
  188. package/dist/lime-crm-building-blocks/{p-6a8422d2.entry.js → p-32339f09.entry.js} +1 -1
  189. package/dist/lime-crm-building-blocks/{p-1990e369.entry.js → p-3446290c.entry.js} +1 -1
  190. package/dist/lime-crm-building-blocks/{p-d495cc19.entry.js → p-35d9b3ad.entry.js} +1 -1
  191. package/dist/lime-crm-building-blocks/{p-eed0b2c2.entry.js → p-3865eec4.entry.js} +1 -1
  192. package/dist/lime-crm-building-blocks/{p-dacf9e77.entry.js → p-394b521a.entry.js} +1 -1
  193. package/dist/lime-crm-building-blocks/{p-8c36b847.entry.js → p-39a36450.entry.js} +1 -1
  194. package/dist/lime-crm-building-blocks/{p-97e75dee.entry.js → p-3b672249.entry.js} +1 -1
  195. package/dist/lime-crm-building-blocks/{p-ad5dcefd.entry.js → p-47b56a75.entry.js} +1 -1
  196. package/dist/lime-crm-building-blocks/{p-402a9c97.entry.js → p-4af3ea2c.entry.js} +1 -1
  197. package/dist/lime-crm-building-blocks/{p-0cc47cad.entry.js → p-4bdaf436.entry.js} +1 -1
  198. package/dist/lime-crm-building-blocks/{p-cf66256a.entry.js → p-4f60b7bc.entry.js} +1 -1
  199. package/dist/lime-crm-building-blocks/{p-90f0c96b.entry.js → p-4fd9d615.entry.js} +1 -1
  200. package/dist/lime-crm-building-blocks/{p-28550961.entry.js → p-53b44865.entry.js} +1 -1
  201. package/dist/lime-crm-building-blocks/{p-7ae27308.entry.js → p-550606f6.entry.js} +1 -1
  202. package/dist/lime-crm-building-blocks/p-573f9e95.entry.js +1 -0
  203. package/dist/lime-crm-building-blocks/{p-a5f3913d.entry.js → p-5c541d0c.entry.js} +1 -1
  204. package/dist/lime-crm-building-blocks/{p-ce723c21.entry.js → p-612c6b28.entry.js} +1 -1
  205. package/dist/lime-crm-building-blocks/{p-5f682c06.entry.js → p-627b0c79.entry.js} +1 -1
  206. package/dist/lime-crm-building-blocks/{p-49d042aa.entry.js → p-6303201b.entry.js} +1 -1
  207. package/dist/lime-crm-building-blocks/{p-6f923112.entry.js → p-687640ed.entry.js} +1 -1
  208. package/dist/lime-crm-building-blocks/{p-8e9fcf3c.entry.js → p-6bd61290.entry.js} +1 -1
  209. package/dist/lime-crm-building-blocks/{p-dcb49a62.entry.js → p-6d2dba20.entry.js} +1 -1
  210. package/dist/lime-crm-building-blocks/{p-0193ed83.entry.js → p-6e2553b4.entry.js} +1 -1
  211. package/dist/lime-crm-building-blocks/{p-Cz5s8qGk.js → p-7DQ7qvMa.js} +1 -1
  212. package/dist/lime-crm-building-blocks/p-7c3d3e06.entry.js +1 -0
  213. package/dist/lime-crm-building-blocks/{p-dd02821e.entry.js → p-7d53756b.entry.js} +1 -1
  214. package/dist/lime-crm-building-blocks/{p-79d743bb.entry.js → p-895c8966.entry.js} +1 -1
  215. package/dist/lime-crm-building-blocks/{p-da35bcc7.entry.js → p-8c0455e4.entry.js} +1 -1
  216. package/dist/lime-crm-building-blocks/{p-a201df35.entry.js → p-8f80d024.entry.js} +1 -1
  217. package/dist/lime-crm-building-blocks/{p-32a81271.entry.js → p-949ed056.entry.js} +1 -1
  218. package/dist/lime-crm-building-blocks/{p-cf03a756.entry.js → p-985ae787.entry.js} +1 -1
  219. package/dist/lime-crm-building-blocks/p-9959019d.entry.js +1 -0
  220. package/dist/lime-crm-building-blocks/{p-DLec4QaM.js → p-B7whyaAL.js} +1 -1
  221. package/dist/lime-crm-building-blocks/{p-COtSgrC5.js → p-BK566_jX.js} +1 -1
  222. package/dist/lime-crm-building-blocks/p-ClYOFrOo.js +1 -0
  223. package/dist/lime-crm-building-blocks/{p-DVypQWZ4.js → p-Cve-3L4y.js} +1 -1
  224. package/dist/lime-crm-building-blocks/p-DOULPRTn.js +1 -0
  225. package/dist/lime-crm-building-blocks/{p-Cj_3f9vm.js → p-DhGRAeCH.js} +1 -1
  226. package/dist/lime-crm-building-blocks/p-DjoMDjMo.js +1 -0
  227. package/dist/lime-crm-building-blocks/p-DuWEcQ7n.js +1 -0
  228. package/dist/lime-crm-building-blocks/{p-dfaef740.entry.js → p-a1052482.entry.js} +1 -1
  229. package/dist/lime-crm-building-blocks/{p-3babfbe0.entry.js → p-a14bed52.entry.js} +1 -1
  230. package/dist/lime-crm-building-blocks/{p-cc53a8ca.entry.js → p-a2e291b4.entry.js} +1 -1
  231. package/dist/lime-crm-building-blocks/{p-8a17a7ea.entry.js → p-a2ebd5a4.entry.js} +1 -1
  232. package/dist/lime-crm-building-blocks/{p-0cbe2180.entry.js → p-a4556649.entry.js} +1 -1
  233. package/dist/lime-crm-building-blocks/{p-f5c1ed0c.entry.js → p-a598f92f.entry.js} +1 -1
  234. package/dist/lime-crm-building-blocks/{p-b44b9dbc.entry.js → p-a938384f.entry.js} +1 -1
  235. package/dist/lime-crm-building-blocks/{p-f3539042.entry.js → p-ab0210b2.entry.js} +1 -1
  236. package/dist/lime-crm-building-blocks/{p-c0d49532.entry.js → p-b272730c.entry.js} +1 -1
  237. package/dist/lime-crm-building-blocks/{p-0370200d.entry.js → p-b4571d32.entry.js} +1 -1
  238. package/dist/lime-crm-building-blocks/{p-551a36f6.entry.js → p-b72c748b.entry.js} +1 -1
  239. package/dist/lime-crm-building-blocks/{p-0ed9a7cc.entry.js → p-bac9d3a9.entry.js} +1 -1
  240. package/dist/lime-crm-building-blocks/p-bd6c12bc.entry.js +1 -0
  241. package/dist/lime-crm-building-blocks/{p-81783bd4.entry.js → p-bf693702.entry.js} +1 -1
  242. package/dist/lime-crm-building-blocks/{p-e6cc320a.entry.js → p-c58067ec.entry.js} +1 -1
  243. package/dist/lime-crm-building-blocks/{p-08797129.entry.js → p-c7bfa2e4.entry.js} +1 -1
  244. package/dist/lime-crm-building-blocks/{p-a953d48e.entry.js → p-d4635a39.entry.js} +1 -1
  245. package/dist/lime-crm-building-blocks/{p-d3c58bc1.entry.js → p-d6099dc7.entry.js} +1 -1
  246. package/dist/lime-crm-building-blocks/{p-bf05d9de.entry.js → p-d6c7cf0f.entry.js} +1 -1
  247. package/dist/lime-crm-building-blocks/{p-1ebe45b8.entry.js → p-da79c5fc.entry.js} +1 -1
  248. package/dist/lime-crm-building-blocks/p-e18a2cef.entry.js +1 -0
  249. package/dist/lime-crm-building-blocks/{p-f9991c35.entry.js → p-e19f4b3b.entry.js} +1 -1
  250. package/dist/lime-crm-building-blocks/{p-46aec244.entry.js → p-eb95767a.entry.js} +1 -1
  251. package/dist/lime-crm-building-blocks/{p-ddc4ede8.entry.js → p-ec9b5e30.entry.js} +1 -1
  252. package/dist/lime-crm-building-blocks/{p-95ba7a84.entry.js → p-f49250f3.entry.js} +1 -1
  253. package/dist/types/components/condition-tree/condition-tree-editor/condition-tree-editor.d.ts +20 -3
  254. package/dist/types/components/condition-tree/condition-tree-nodes.d.ts +11 -4
  255. package/dist/types/components/condition-tree/condition-tree-view-context.d.ts +3 -2
  256. package/dist/types/components/condition-tree/condition-tree.d.ts +41 -8
  257. package/dist/types/components/condition-tree/condition-tree.types.d.ts +21 -2
  258. package/dist/types/components/rule-editor/condition-tree-adapter.d.ts +67 -0
  259. package/dist/types/components/rule-editor/rule-condition-chip/rule-condition-chip.d.ts +82 -0
  260. package/dist/types/components/rule-editor/rule-condition-editor/rule-condition-editor.d.ts +61 -0
  261. package/dist/types/components/rule-editor/rule-editor.d.ts +105 -47
  262. package/dist/types/components/rule-editor/rule-issues.d.ts +12 -0
  263. package/dist/types/components/rule-editor/view-helpers.d.ts +16 -35
  264. package/dist/types/components.d.ts +304 -79
  265. package/dist/types/stencil-public-runtime.d.ts +61 -55
  266. package/package.json +4 -4
  267. package/dist/cjs/limebb-rule-chip-popover.cjs.entry.js +0 -82
  268. package/dist/collection/components/rule-editor/chip-picker-view.js +0 -148
  269. package/dist/collection/components/rule-editor/group-node-view.js +0 -79
  270. package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.css +0 -36
  271. package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.js +0 -344
  272. package/dist/collection/components/rule-editor/rule-editor-views.js +0 -43
  273. package/dist/collection/components/rule-editor/rule-operations.js +0 -145
  274. package/dist/components/limebb-rule-chip-popover.d.ts +0 -11
  275. package/dist/components/limebb-rule-chip-popover.js +0 -1
  276. package/dist/components/rule-chip-popover.js +0 -1
  277. package/dist/esm/limebb-rule-chip-popover.entry.js +0 -80
  278. package/dist/lime-crm-building-blocks/p-1578c8f0.entry.js +0 -1
  279. package/dist/lime-crm-building-blocks/p-229d018c.entry.js +0 -1
  280. package/dist/lime-crm-building-blocks/p-6331f9c5.entry.js +0 -1
  281. package/dist/lime-crm-building-blocks/p-705c53c0.entry.js +0 -1
  282. package/dist/lime-crm-building-blocks/p-84ad9159.entry.js +0 -1
  283. package/dist/lime-crm-building-blocks/p-BxCq236x.js +0 -1
  284. package/dist/lime-crm-building-blocks/p-Css8537O.js +0 -1
  285. package/dist/lime-crm-building-blocks/p-a58c9e1e.entry.js +0 -1
  286. package/dist/lime-crm-building-blocks/p-hsyotUav.js +0 -1
  287. package/dist/types/components/rule-editor/chip-picker-view.d.ts +0 -35
  288. package/dist/types/components/rule-editor/group-node-view.d.ts +0 -11
  289. package/dist/types/components/rule-editor/rule-chip-popover/rule-chip-popover.d.ts +0 -43
  290. package/dist/types/components/rule-editor/rule-editor-views.d.ts +0 -58
  291. package/dist/types/components/rule-editor/rule-operations.d.ts +0 -70
@@ -1,14 +1,22 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import { FormComponent } from '@limetech/lime-elements';
3
3
  import { ContextMap, LimeWebComponent, LimeWebComponentContext, LimeWebComponentPlatform, Rule } from '@limetech/lime-web-components';
4
+ import './rule-condition-chip/rule-condition-chip';
5
+ import './rule-condition-editor/rule-condition-editor';
4
6
  import { RuleEditorMode } from './rule-editor.types';
5
7
  /**
6
8
  * Tree editor for {@link Rule}.
7
9
  *
8
- * Renders a `Rule` value as a tree of nodes. Lets an author pick
9
- * primitive refs in `all` / `any` groups, toggle negation, delete
10
- * nodes, and edit per-primitive args via the editor declared on each
11
- * primitive's metadata.
10
+ * Renders a `Rule` value as a `limebb-condition-tree`. Lets an author
11
+ * add primitive refs to `all` / `any` groups and to the negations of
12
+ * those two, nest groups, negate a single ref, delete nodes, and edit
13
+ * per-primitive args via the editor declared on each primitive's
14
+ * metadata.
15
+ *
16
+ * The tree owns every structural edit, and knows nothing about rules. A
17
+ * `Rule` reaches it through an adapter — see `condition-tree-adapter.ts`
18
+ * — which is also where the group negation the rule model writes as a
19
+ * `not` wrapper is folded into the combinator the tree shows.
12
20
  *
13
21
  * The component is value-in / value-out. Pass `value` and listen for
14
22
  * `change`; persistence is the caller's concern.
@@ -57,6 +65,12 @@ export declare class RuleEditor implements LimeWebComponent, FormComponent<Rule
57
65
  */
58
66
  context: LimeWebComponentContext;
59
67
  /**
68
+ * The rule under edit. Hand back what `change` emitted, not a copy:
69
+ * which condition is open, which have been visited and what
70
+ * validation said about each are all tracked by object identity, so
71
+ * a deep-cloned rule reads as a different one that happens to look
72
+ * the same.
73
+ *
60
74
  * @inheritdoc
61
75
  */
62
76
  value: Rule | undefined;
@@ -91,16 +105,16 @@ export declare class RuleEditor implements LimeWebComponent, FormComponent<Rule
91
105
  */
92
106
  required: boolean;
93
107
  /**
94
- * The mutation UI (delete and negate toggles, add-group button) is
95
- * hidden when set. The args editor for each ref is still rendered,
96
- * with `readonly` forwarded to it.
108
+ * The controls that add, delete and negate are not rendered when set,
109
+ * leaving the rule to be read. The args editor for each ref is still
110
+ * rendered, with `readonly` forwarded to it.
97
111
  *
98
112
  * @inheritdoc
99
113
  */
100
114
  readonly: boolean;
101
115
  /**
102
- * The mutation UI is hidden when set. The args editor is rendered
103
- * with `disabled` forwarded to it.
116
+ * Every control stays where it is, dimmed and inert, when set. The
117
+ * args editor is rendered with `disabled` forwarded to it.
104
118
  *
105
119
  * @inheritdoc
106
120
  */
@@ -139,10 +153,14 @@ export declare class RuleEditor implements LimeWebComponent, FormComponent<Rule
139
153
  * group — callers can persist `undefined` as "no rule" without
140
154
  * having to inspect the rule shape themselves.
141
155
  */
156
+ /**
157
+ * The edited rule, or nothing when the author has cleared it.
158
+ *
159
+ * What comes out is what should go back in as `value` — see the note
160
+ * there on why the objects themselves matter.
161
+ */
142
162
  change: EventEmitter<Rule | undefined>;
143
163
  private resolvedContext?;
144
- private issues;
145
- private openChipPath;
146
164
  /**
147
165
  * The mode the author last clicked, held until `value` reads back
148
166
  * as it.
@@ -153,10 +171,34 @@ export declare class RuleEditor implements LimeWebComponent, FormComponent<Rule
153
171
  * what the author just clicked.
154
172
  */
155
173
  private modeOverride;
156
- private focusOnOpen;
157
174
  private metadataById;
158
- private allPrimitiveOptions;
175
+ /**
176
+ * How each registered primitive reads, by id. Translated once here
177
+ * because the platform's translator parses the message afresh on
178
+ * every call, and the adapter would otherwise do that per condition,
179
+ * several times over, on every edit.
180
+ */
181
+ private primitiveTitles;
159
182
  private availablePrimitiveOptions;
183
+ private searcher;
184
+ /**
185
+ * How the tree reads and rebuilds the rule. Held in state because a
186
+ * new adapter is the only way a change to the palette reaches the
187
+ * screen — the rule itself has not moved, so nothing else the tree
188
+ * can see has changed.
189
+ */
190
+ private adapter;
191
+ /**
192
+ * What validation found, by the node it belongs to.
193
+ */
194
+ private issuesByNode;
195
+ /**
196
+ * The conditions added here rather than loaded, which a `RuleRef`
197
+ * does not record. The adapter reads it to decide which condition
198
+ * opens itself. Replaced when the tree goes, since a condition still
199
+ * listed when the author comes back would open itself again.
200
+ */
201
+ private created;
160
202
  private reachableSlots;
161
203
  /**
162
204
  * The conditional rule the author had when they switched to an
@@ -190,11 +232,15 @@ export declare class RuleEditor implements LimeWebComponent, FormComponent<Rule
190
232
  * The condition tree, shown unless a mode other than `conditional`
191
233
  * is selected — an unconditional rule has no conditions to show.
192
234
  * A caller offering no modes at all gets the tree, as before.
235
+ *
236
+ * An unset rule is handed over as unset, rather than as an empty
237
+ * group: the tree draws the group an author's first condition will
238
+ * land in, and drawing one here would only be a second opinion on
239
+ * what that looks like.
193
240
  */
194
241
  private renderTree;
195
242
  private renderHelperLine;
196
243
  private renderHelp;
197
- private createRenderContext;
198
244
  /**
199
245
  * The mode the editor is in, or `undefined` when it offers none —
200
246
  * then it is the plain tree editor it was before modes existed.
@@ -212,6 +258,9 @@ export declare class RuleEditor implements LimeWebComponent, FormComponent<Rule
212
258
  * conditions are gone, rather than handing back the ones they
213
259
  * removed. With nothing stashed, `conditional` emits no rule, which
214
260
  * is how the editor already says "the author cleared this".
261
+ *
262
+ * What is not stashed is which conditions had just been added, so
263
+ * that none of them opens itself again on the way back.
215
264
  * @param mode
216
265
  */
217
266
  private handleModeChange;
@@ -227,24 +276,18 @@ export declare class RuleEditor implements LimeWebComponent, FormComponent<Rule
227
276
  * setting under the author.
228
277
  */
229
278
  private clearReachedModeOverride;
230
- private handleDelete;
231
- private handleUpdateArgs;
232
- private handleReplaceNode;
233
- /**
234
- * Path of a newly added chip whose primitive declares a config
235
- * component, so its args editor opens immediately on add. The new
236
- * ref is found by object identity — the picker reuses existing ref
237
- * objects and only the added chip is a fresh node — so adding a
238
- * second instance of a primitive already in the group is still
239
- * detected. Returns `null` unless exactly one ref was added and it
240
- * has an editor, leaving the open chip untouched for removals,
241
- * multi-adds, and negation.
242
- * @param path
243
- * @param replacement
244
- */
245
- private autoOpenPathFor;
246
- private handleChipInteract;
247
- private handlePopoverClose;
279
+ /**
280
+ * Take in a tree the author changed. The tree reports `null` when
281
+ * the last condition goes, which for a rule means there is none —
282
+ * the same thing an emptied editor has always emitted.
283
+ *
284
+ * Editing the tree is only possible in `conditional`, so the edit
285
+ * itself records the mode: without this, a tree emptied to nothing
286
+ * would read back as the first offered mode and rewrite the setting
287
+ * under the author.
288
+ * @param event
289
+ */
290
+ private handleTreeChange;
248
291
  private indexMetadata;
249
292
  /**
250
293
  * Recompute the cached add-palette options. The inputs — indexed
@@ -259,7 +302,7 @@ export declare class RuleEditor implements LimeWebComponent, FormComponent<Rule
259
302
  * reachable slots are dropped, and so is the always primitive —
260
303
  * it reads nothing, so it is always covered, but an "Always" chip
261
304
  * among a group's conditions says nothing. Filtering only the
262
- * palette — not the full `allPrimitiveOptions` — keeps
305
+ * palette — the adapter still reads the whole index — keeps
263
306
  * already-placed chips resolving to their proper title even when
264
307
  * their read slot isn't reachable.
265
308
  */
@@ -280,27 +323,42 @@ export declare class RuleEditor implements LimeWebComponent, FormComponent<Rule
280
323
  private computeReachableSlots;
281
324
  private runValidation;
282
325
  /**
283
- * Emit an edited tree. Editing the tree is only possible in
284
- * `conditional`, so the edit itself records the mode: an edit that
285
- * empties the tree emits no rule, and without this the empty value
286
- * would read back as the first offered mode.
287
- * @param next
326
+ * What the registry finds wrong with the rule, gathered by the node
327
+ * each problem belongs to. Validation runs against the normalized
328
+ * rule, which is also what the tree is handed, so the paths the
329
+ * registry reports address the very nodes the tree draws.
330
+ *
331
+ * A rule the registry cannot even walk — one hand-edited into a shape
332
+ * that is not a rule — makes it throw rather than report. That is the
333
+ * rule an author most needs the editor for, so the throw is caught
334
+ * and the editor drawn anyway: the tree marks the offending condition
335
+ * unreadable itself, which is the same thing validation would have
336
+ * said and in the place it belongs.
337
+ */
338
+ private findIssues;
339
+ /**
340
+ * Gather what the tree draws from into a new adapter, which is how a
341
+ * change the rule does not carry reaches the screen at all.
342
+ *
343
+ * Not rebuilt for a validation pass: that runs because the rule
344
+ * changed, and the tree is already redrawing for the same reason.
345
+ * Rebuilding there would sync its open state twice for one edit.
288
346
  */
289
- private emitIfChanged;
347
+ private rebuildAdapter;
290
348
  /**
291
- * Wrap any non-group `value` in a top-level `all` so the editor
292
- * always has a group to render against. When `value` is unset,
293
- * returns a fresh empty `all`-group as a render-only placeholder —
294
- * `emitNormalization` will *not* push that placeholder back to the
295
- * caller, so an unset value stays unset until the user edits.
349
+ * Wrap any non-group `value` in a top-level `all`, so that a lone
350
+ * condition has a group to grow in. An unset value stays unset: the
351
+ * tree draws the group a first condition will land in, and
352
+ * `emitNormalization` never pushes that placeholder back to the
353
+ * caller, so "no rule yet" stays distinguishable from "the author
354
+ * cleared this".
296
355
  *
297
356
  * An unconditional mode is the exception: its sentinel is left
298
357
  * exactly as it came in, because wrapping it would rewrite the
299
358
  * shape the mode is read back from.
300
359
  *
301
- * Memoized so callers that read this several times in one handler
302
- * see the same reference — the identity check in `emitIfChanged`
303
- * depends on it.
360
+ * Memoized, so that the tree is handed the same rule on every
361
+ * render and redraws only when the rule itself changes.
304
362
  */
305
363
  private get normalizedValue();
306
364
  /**
@@ -0,0 +1,12 @@
1
+ import { Rule, RuleValidationIssue } from '@limetech/lime-web-components';
2
+ /**
3
+ * The problems the registry found, gathered by the node each belongs to.
4
+ *
5
+ * The registry addresses an issue by path — `['rules', 0, 'rule']` for
6
+ * `root.rules[0].rule` — while the tree asks about one node at a time and never
7
+ * says where it is. Resolving the paths once, here, bridges the two.
8
+ * @param root
9
+ * @param issues
10
+ */
11
+ export declare function collectRuleIssues(root: Rule, issues: RuleValidationIssue[]): Map<Rule, string[]>;
12
+ //# sourceMappingURL=rule-issues.d.ts.map
@@ -1,32 +1,20 @@
1
- import { LimelPickerCustomEvent, ListItem } from '@limetech/lime-elements';
2
- import { ContextMap, PrimitiveMetadata, RuleValidationIssue, Translator } from '@limetech/lime-web-components';
1
+ import { MenuItem, MenuSearcher } from '@limetech/lime-elements';
2
+ import { ContextMap, PrimitiveMetadata, Translator } from '@limetech/lime-web-components';
3
3
  /**
4
- * Event emitted by `limel-picker` when its value changes. Single-select
5
- * pickers receive a single item, multi-select pickers receive an array.
6
- */
7
- export type PickerChangeEvent = LimelPickerCustomEvent<ListItem<string> | Array<ListItem<string>>>;
8
- /**
9
- * Event emitted by `limel-picker` when the user interacts with an
10
- * existing chip (e.g. clicks it).
11
- */
12
- export type PickerInteractEvent = LimelPickerCustomEvent<ListItem<string>>;
13
- /**
14
- * Class map for a rule-node container. Adds the type modifier and an
15
- * `invalid` flag when validation issues attach to this node.
16
- * @param type
17
- * @param issues
4
+ * The primitives the add button offers. Titles and descriptions go through the
5
+ * translator, so a caller can register translation keys as metadata — plain
6
+ * strings travel through unchanged.
7
+ * @param metadataById
8
+ * @param translator
18
9
  */
19
- export declare function nodeClasses(type: 'all' | 'any', issues: RuleValidationIssue[]): Record<string, boolean>;
10
+ export declare function createPrimitiveOptions(metadataById: Map<string, PrimitiveMetadata>, translator: Translator): MenuItem[];
20
11
  /**
21
- * Build the searchable list shown by the primitive pickers. Cached on
22
- * the render context so it isn't recomputed per node. `meta.title` and
23
- * `meta.description` are passed through the translator so callers can
24
- * register translation keys as metadata — plain strings travel through
25
- * unchanged.
26
- * @param metadataById
12
+ * How a primitive reads: its translated title, or its bare id when it has none
13
+ * to give. The add menu and the chip both read it from here, so they agree.
14
+ * @param meta
27
15
  * @param translator
28
16
  */
29
- export declare function createPrimitiveOptions(metadataById: Map<string, PrimitiveMetadata>, translator: Translator): Array<ListItem<string>>;
17
+ export declare function primitiveTitle(meta: PrimitiveMetadata, translator: Translator): string;
30
18
  /**
31
19
  * Whether every context key a primitive reads is in the reachable set.
32
20
  * A primitive that reads nothing is always covered.
@@ -35,17 +23,10 @@ export declare function createPrimitiveOptions(metadataById: Map<string, Primiti
35
23
  */
36
24
  export declare function primitiveReadsCovered(meta: PrimitiveMetadata, reachable: Set<keyof ContextMap>): boolean;
37
25
  /**
38
- * Find the picker item for `id`, falling back to a placeholder marked
39
- * with the unknown-primitive icon when the id isn't in the registry.
40
- * @param allItems
41
- * @param id
42
- */
43
- export declare function resolveItem(allItems: Array<ListItem<string>>, id: string): ListItem<string>;
44
- /**
45
- * Build a picker `searcher` bound to a fixed item list. Both the ref
46
- * picker and the chip picker want exactly this — wrapping
47
- * {@link searchItems} in a promise — and deserve to share it.
26
+ * Narrow the primitives as the user types, for the search field at the top of
27
+ * the add menu. Every word has to match somewhere — title, description or id —
28
+ * so that "deal won" finds "Won deals".
48
29
  * @param items
49
30
  */
50
- export declare function createSearcher(items: Array<ListItem<string>>): (query: string) => Promise<Array<ListItem<string>>>;
31
+ export declare function createSearcher(items: MenuItem[]): MenuSearcher;
51
32
  //# sourceMappingURL=view-helpers.d.ts.map