@limetech/lime-crm-building-blocks 2.3.1 → 2.4.1

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 (293) hide show
  1. package/CHANGELOG.md +20 -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 +3 -3
  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/collection/components/rule-gate/rule-gate.css +3 -3
  94. package/dist/components/condition-tree-adapter.js +1 -0
  95. package/dist/components/condition-tree-editor.js +1 -1
  96. package/dist/components/condition-tree.js +1 -0
  97. package/dist/components/limebb-condition-tree.js +1 -1
  98. package/dist/components/limebb-rule-condition-chip.d.ts +11 -0
  99. package/dist/components/limebb-rule-condition-chip.js +1 -0
  100. package/dist/components/limebb-rule-condition-editor.d.ts +11 -0
  101. package/dist/components/limebb-rule-condition-editor.js +1 -0
  102. package/dist/components/limebb-rule-editor.js +1 -1
  103. package/dist/components/limebb-rule-gate.js +1 -1
  104. package/dist/esm/{condition-tree-translate-CBeXbZ_z.js → condition-tree-translate-ZQptbaXF.js} +1 -1
  105. package/dist/esm/{filter-group-logic-CzThKf85.js → filter-group-logic-nqCMmV0e.js} +1 -1
  106. package/dist/esm/{filter-operators-u3T1PKhm.js → filter-operators-QbKK26m2.js} +1 -1
  107. package/dist/esm/{index-COtSgrC5.js → index-BK566_jX.js} +13 -8
  108. package/dist/esm/{index.esm-B9D_MXA6.js → index.esm-C__n3hug.js} +1 -1
  109. package/dist/esm/index.js +3 -3
  110. package/dist/esm/lime-crm-building-blocks.js +4 -4
  111. package/dist/esm/{lime-query-validation-dGoN_93p.js → lime-query-validation-BvB2v-yP.js} +1 -1
  112. package/dist/esm/limebb-alert-dialog.entry.js +1 -1
  113. package/dist/esm/limebb-browser.entry.js +2 -2
  114. package/dist/esm/limebb-chat-icon-list_3.entry.js +2 -2
  115. package/dist/esm/limebb-chat-list.entry.js +2 -2
  116. package/dist/esm/limebb-color-palette-picker.entry.js +1 -1
  117. package/dist/esm/limebb-color-palette-swatches.entry.js +1 -1
  118. package/dist/esm/limebb-component-config.entry.js +3 -3
  119. package/dist/esm/limebb-component-picker.entry.js +2 -2
  120. package/dist/esm/limebb-composer-toolbar.entry.js +2 -2
  121. package/dist/esm/limebb-condition-tree-editor.entry.js +24 -9
  122. package/dist/esm/limebb-condition-tree.entry.js +121 -34
  123. package/dist/esm/limebb-currency-picker.entry.js +2 -2
  124. package/dist/esm/limebb-dashboard-widget.entry.js +1 -1
  125. package/dist/esm/limebb-data-cells.entry.js +2 -2
  126. package/dist/esm/limebb-date-picker.entry.js +2 -2
  127. package/dist/esm/limebb-date-range.entry.js +1 -1
  128. package/dist/esm/limebb-document-chips.entry.js +1 -1
  129. package/dist/esm/limebb-document-item.entry.js +1 -1
  130. package/dist/esm/limebb-document-picker.entry.js +1 -1
  131. package/dist/esm/limebb-empty-state.entry.js +1 -1
  132. package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
  133. package/dist/esm/limebb-feed-timeline-item.entry.js +2 -2
  134. package/dist/esm/limebb-feed.entry.js +2 -2
  135. package/dist/esm/limebb-filter-chip_6.entry.js +4 -4
  136. package/dist/esm/limebb-icon-picker.entry.js +1 -1
  137. package/dist/esm/limebb-info-tile-currency-format.entry.js +1 -1
  138. package/dist/esm/limebb-info-tile-date-format.entry.js +1 -1
  139. package/dist/esm/limebb-info-tile-decimal-format.entry.js +1 -1
  140. package/dist/esm/limebb-info-tile-format.entry.js +1 -1
  141. package/dist/esm/limebb-info-tile-relative-date-format.entry.js +1 -1
  142. package/dist/esm/limebb-info-tile-unit-format.entry.js +1 -1
  143. package/dist/esm/limebb-info-tile.entry.js +3 -3
  144. package/dist/esm/limebb-inline-image.entry.js +2 -2
  145. package/dist/esm/limebb-kanban-group.entry.js +2 -2
  146. package/dist/esm/limebb-kanban-item.entry.js +2 -2
  147. package/dist/esm/limebb-kanban.entry.js +1 -1
  148. package/dist/esm/limebb-lime-query-builder.entry.js +3 -3
  149. package/dist/esm/limebb-lime-query-filter-builder.entry.js +3 -3
  150. package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +4 -4
  151. package/dist/esm/limebb-lime-query-order-by-editor_2.entry.js +3 -3
  152. package/dist/esm/limebb-lime-query-order-by-item.entry.js +1 -1
  153. package/dist/esm/limebb-lime-query-response-format-builder.entry.js +3 -3
  154. package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +1 -1
  155. package/dist/esm/limebb-limeobject-file-viewer.entry.js +2 -2
  156. package/dist/esm/limebb-live-docs-info.entry.js +1 -1
  157. package/dist/esm/limebb-loader.entry.js +2 -2
  158. package/dist/esm/limebb-locale-picker.entry.js +2 -2
  159. package/dist/esm/limebb-mention-group-counter.entry.js +1 -1
  160. package/dist/esm/limebb-mention.entry.js +2 -2
  161. package/dist/esm/limebb-navigation-button_2.entry.js +1 -1
  162. package/dist/esm/limebb-notification-item.entry.js +2 -2
  163. package/dist/esm/limebb-notification-list.entry.js +2 -2
  164. package/dist/esm/limebb-object-chip.entry.js +3 -3
  165. package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
  166. package/dist/esm/limebb-property-selector.entry.js +3 -3
  167. package/dist/esm/limebb-rule-arg-filter-editor.entry.js +2 -2
  168. package/dist/esm/limebb-rule-condition-chip.entry.js +69 -0
  169. package/dist/esm/limebb-rule-condition-editor-DeY758N-.js +281 -0
  170. package/dist/esm/limebb-rule-condition-editor.entry.js +3 -0
  171. package/dist/esm/limebb-rule-editor.entry.js +217 -573
  172. package/dist/esm/limebb-rule-gate.entry.js +3 -3
  173. package/dist/esm/limebb-text-editor-picker.entry.js +1 -1
  174. package/dist/esm/limebb-text-editor.entry.js +3 -3
  175. package/dist/esm/limebb-trend-indicator.entry.js +2 -2
  176. package/dist/esm/limebb-value-comparison-editor.entry.js +3 -3
  177. package/dist/esm/{limetype-BcELY1NF.js → limetype-Muf9VutX.js} +1 -1
  178. package/dist/esm/loader.js +3 -3
  179. package/dist/esm/{web-component-template-DxbwHsvw.js → web-component-template-D1JpeNy_.js} +1 -1
  180. package/dist/lime-crm-building-blocks/index.esm.js +1 -1
  181. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  182. package/dist/lime-crm-building-blocks/p-0621e884.entry.js +1 -0
  183. package/dist/lime-crm-building-blocks/{p-ab0f8170.entry.js → p-087d5651.entry.js} +1 -1
  184. package/dist/lime-crm-building-blocks/{p-ce2755a0.entry.js → p-1917956c.entry.js} +1 -1
  185. package/dist/lime-crm-building-blocks/{p-07a9c8f2.entry.js → p-1ae4962d.entry.js} +1 -1
  186. package/dist/lime-crm-building-blocks/{p-021e452a.entry.js → p-23d2632b.entry.js} +1 -1
  187. package/dist/lime-crm-building-blocks/{p-ffca266e.entry.js → p-251784bf.entry.js} +1 -1
  188. package/dist/lime-crm-building-blocks/{p-635a45ad.entry.js → p-27240bb0.entry.js} +1 -1
  189. package/dist/lime-crm-building-blocks/p-2adeac66.entry.js +1 -0
  190. package/dist/lime-crm-building-blocks/{p-6a8422d2.entry.js → p-32339f09.entry.js} +1 -1
  191. package/dist/lime-crm-building-blocks/{p-1990e369.entry.js → p-3446290c.entry.js} +1 -1
  192. package/dist/lime-crm-building-blocks/{p-d495cc19.entry.js → p-35d9b3ad.entry.js} +1 -1
  193. package/dist/lime-crm-building-blocks/{p-eed0b2c2.entry.js → p-3865eec4.entry.js} +1 -1
  194. package/dist/lime-crm-building-blocks/{p-dacf9e77.entry.js → p-394b521a.entry.js} +1 -1
  195. package/dist/lime-crm-building-blocks/{p-8c36b847.entry.js → p-39a36450.entry.js} +1 -1
  196. package/dist/lime-crm-building-blocks/{p-97e75dee.entry.js → p-3b672249.entry.js} +1 -1
  197. package/dist/lime-crm-building-blocks/{p-ad5dcefd.entry.js → p-47b56a75.entry.js} +1 -1
  198. package/dist/lime-crm-building-blocks/{p-402a9c97.entry.js → p-4af3ea2c.entry.js} +1 -1
  199. package/dist/lime-crm-building-blocks/{p-0cc47cad.entry.js → p-4bdaf436.entry.js} +1 -1
  200. package/dist/lime-crm-building-blocks/{p-cf66256a.entry.js → p-4f60b7bc.entry.js} +1 -1
  201. package/dist/lime-crm-building-blocks/{p-90f0c96b.entry.js → p-4fd9d615.entry.js} +1 -1
  202. package/dist/lime-crm-building-blocks/{p-28550961.entry.js → p-53b44865.entry.js} +1 -1
  203. package/dist/lime-crm-building-blocks/{p-7ae27308.entry.js → p-550606f6.entry.js} +1 -1
  204. package/dist/lime-crm-building-blocks/p-573f9e95.entry.js +1 -0
  205. package/dist/lime-crm-building-blocks/{p-a5f3913d.entry.js → p-5c541d0c.entry.js} +1 -1
  206. package/dist/lime-crm-building-blocks/{p-ce723c21.entry.js → p-612c6b28.entry.js} +1 -1
  207. package/dist/lime-crm-building-blocks/{p-6f923112.entry.js → p-621ab65a.entry.js} +1 -1
  208. package/dist/lime-crm-building-blocks/{p-5f682c06.entry.js → p-627b0c79.entry.js} +1 -1
  209. package/dist/lime-crm-building-blocks/{p-49d042aa.entry.js → p-6303201b.entry.js} +1 -1
  210. package/dist/lime-crm-building-blocks/{p-8e9fcf3c.entry.js → p-6bd61290.entry.js} +1 -1
  211. package/dist/lime-crm-building-blocks/{p-dcb49a62.entry.js → p-6d2dba20.entry.js} +1 -1
  212. package/dist/lime-crm-building-blocks/{p-0193ed83.entry.js → p-6e2553b4.entry.js} +1 -1
  213. package/dist/lime-crm-building-blocks/{p-Cz5s8qGk.js → p-7DQ7qvMa.js} +1 -1
  214. package/dist/lime-crm-building-blocks/p-7c3d3e06.entry.js +1 -0
  215. package/dist/lime-crm-building-blocks/{p-dd02821e.entry.js → p-7d53756b.entry.js} +1 -1
  216. package/dist/lime-crm-building-blocks/{p-79d743bb.entry.js → p-895c8966.entry.js} +1 -1
  217. package/dist/lime-crm-building-blocks/{p-da35bcc7.entry.js → p-8c0455e4.entry.js} +1 -1
  218. package/dist/lime-crm-building-blocks/{p-a201df35.entry.js → p-8f80d024.entry.js} +1 -1
  219. package/dist/lime-crm-building-blocks/{p-32a81271.entry.js → p-949ed056.entry.js} +1 -1
  220. package/dist/lime-crm-building-blocks/{p-cf03a756.entry.js → p-985ae787.entry.js} +1 -1
  221. package/dist/lime-crm-building-blocks/p-9959019d.entry.js +1 -0
  222. package/dist/lime-crm-building-blocks/{p-DLec4QaM.js → p-B7whyaAL.js} +1 -1
  223. package/dist/lime-crm-building-blocks/{p-COtSgrC5.js → p-BK566_jX.js} +1 -1
  224. package/dist/lime-crm-building-blocks/p-ClYOFrOo.js +1 -0
  225. package/dist/lime-crm-building-blocks/{p-DVypQWZ4.js → p-Cve-3L4y.js} +1 -1
  226. package/dist/lime-crm-building-blocks/p-DOULPRTn.js +1 -0
  227. package/dist/lime-crm-building-blocks/{p-Cj_3f9vm.js → p-DhGRAeCH.js} +1 -1
  228. package/dist/lime-crm-building-blocks/p-DjoMDjMo.js +1 -0
  229. package/dist/lime-crm-building-blocks/p-DuWEcQ7n.js +1 -0
  230. package/dist/lime-crm-building-blocks/{p-dfaef740.entry.js → p-a1052482.entry.js} +1 -1
  231. package/dist/lime-crm-building-blocks/{p-3babfbe0.entry.js → p-a14bed52.entry.js} +1 -1
  232. package/dist/lime-crm-building-blocks/{p-cc53a8ca.entry.js → p-a2e291b4.entry.js} +1 -1
  233. package/dist/lime-crm-building-blocks/{p-8a17a7ea.entry.js → p-a2ebd5a4.entry.js} +1 -1
  234. package/dist/lime-crm-building-blocks/{p-0cbe2180.entry.js → p-a4556649.entry.js} +1 -1
  235. package/dist/lime-crm-building-blocks/{p-f5c1ed0c.entry.js → p-a598f92f.entry.js} +1 -1
  236. package/dist/lime-crm-building-blocks/{p-b44b9dbc.entry.js → p-a938384f.entry.js} +1 -1
  237. package/dist/lime-crm-building-blocks/{p-f3539042.entry.js → p-ab0210b2.entry.js} +1 -1
  238. package/dist/lime-crm-building-blocks/{p-c0d49532.entry.js → p-b272730c.entry.js} +1 -1
  239. package/dist/lime-crm-building-blocks/{p-0370200d.entry.js → p-b4571d32.entry.js} +1 -1
  240. package/dist/lime-crm-building-blocks/{p-551a36f6.entry.js → p-b72c748b.entry.js} +1 -1
  241. package/dist/lime-crm-building-blocks/{p-0ed9a7cc.entry.js → p-bac9d3a9.entry.js} +1 -1
  242. package/dist/lime-crm-building-blocks/p-bd6c12bc.entry.js +1 -0
  243. package/dist/lime-crm-building-blocks/{p-81783bd4.entry.js → p-bf693702.entry.js} +1 -1
  244. package/dist/lime-crm-building-blocks/{p-e6cc320a.entry.js → p-c58067ec.entry.js} +1 -1
  245. package/dist/lime-crm-building-blocks/{p-08797129.entry.js → p-c7bfa2e4.entry.js} +1 -1
  246. package/dist/lime-crm-building-blocks/{p-a953d48e.entry.js → p-d4635a39.entry.js} +1 -1
  247. package/dist/lime-crm-building-blocks/{p-d3c58bc1.entry.js → p-d6099dc7.entry.js} +1 -1
  248. package/dist/lime-crm-building-blocks/{p-bf05d9de.entry.js → p-d6c7cf0f.entry.js} +1 -1
  249. package/dist/lime-crm-building-blocks/{p-1ebe45b8.entry.js → p-da79c5fc.entry.js} +1 -1
  250. package/dist/lime-crm-building-blocks/p-e18a2cef.entry.js +1 -0
  251. package/dist/lime-crm-building-blocks/{p-f9991c35.entry.js → p-e19f4b3b.entry.js} +1 -1
  252. package/dist/lime-crm-building-blocks/{p-46aec244.entry.js → p-eb95767a.entry.js} +1 -1
  253. package/dist/lime-crm-building-blocks/{p-ddc4ede8.entry.js → p-ec9b5e30.entry.js} +1 -1
  254. package/dist/lime-crm-building-blocks/{p-95ba7a84.entry.js → p-f49250f3.entry.js} +1 -1
  255. package/dist/types/components/condition-tree/condition-tree-editor/condition-tree-editor.d.ts +20 -3
  256. package/dist/types/components/condition-tree/condition-tree-nodes.d.ts +11 -4
  257. package/dist/types/components/condition-tree/condition-tree-view-context.d.ts +3 -2
  258. package/dist/types/components/condition-tree/condition-tree.d.ts +41 -8
  259. package/dist/types/components/condition-tree/condition-tree.types.d.ts +21 -2
  260. package/dist/types/components/rule-editor/condition-tree-adapter.d.ts +67 -0
  261. package/dist/types/components/rule-editor/rule-condition-chip/rule-condition-chip.d.ts +82 -0
  262. package/dist/types/components/rule-editor/rule-condition-editor/rule-condition-editor.d.ts +61 -0
  263. package/dist/types/components/rule-editor/rule-editor.d.ts +105 -47
  264. package/dist/types/components/rule-editor/rule-issues.d.ts +12 -0
  265. package/dist/types/components/rule-editor/view-helpers.d.ts +16 -35
  266. package/dist/types/components.d.ts +304 -79
  267. package/dist/types/stencil-public-runtime.d.ts +61 -55
  268. package/package.json +4 -4
  269. package/dist/cjs/limebb-rule-chip-popover.cjs.entry.js +0 -82
  270. package/dist/collection/components/rule-editor/chip-picker-view.js +0 -148
  271. package/dist/collection/components/rule-editor/group-node-view.js +0 -79
  272. package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.css +0 -36
  273. package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.js +0 -344
  274. package/dist/collection/components/rule-editor/rule-editor-views.js +0 -43
  275. package/dist/collection/components/rule-editor/rule-operations.js +0 -145
  276. package/dist/components/limebb-rule-chip-popover.d.ts +0 -11
  277. package/dist/components/limebb-rule-chip-popover.js +0 -1
  278. package/dist/components/rule-chip-popover.js +0 -1
  279. package/dist/esm/limebb-rule-chip-popover.entry.js +0 -80
  280. package/dist/lime-crm-building-blocks/p-1578c8f0.entry.js +0 -1
  281. package/dist/lime-crm-building-blocks/p-229d018c.entry.js +0 -1
  282. package/dist/lime-crm-building-blocks/p-6331f9c5.entry.js +0 -1
  283. package/dist/lime-crm-building-blocks/p-705c53c0.entry.js +0 -1
  284. package/dist/lime-crm-building-blocks/p-84ad9159.entry.js +0 -1
  285. package/dist/lime-crm-building-blocks/p-BxCq236x.js +0 -1
  286. package/dist/lime-crm-building-blocks/p-Css8537O.js +0 -1
  287. package/dist/lime-crm-building-blocks/p-a58c9e1e.entry.js +0 -1
  288. package/dist/lime-crm-building-blocks/p-hsyotUav.js +0 -1
  289. package/dist/types/components/rule-editor/chip-picker-view.d.ts +0 -35
  290. package/dist/types/components/rule-editor/group-node-view.d.ts +0 -11
  291. package/dist/types/components/rule-editor/rule-chip-popover/rule-chip-popover.d.ts +0 -43
  292. package/dist/types/components/rule-editor/rule-editor-views.d.ts +0 -58
  293. package/dist/types/components/rule-editor/rule-operations.d.ts +0 -70
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, h } from './index-COtSgrC5.js';
2
- import { W as We, L as Le, n } from './index.esm-B9D_MXA6.js';
1
+ import { r as registerInstance, h } from './index-BK566_jX.js';
2
+ import { W as We, L as Le, n } from './index.esm-C__n3hug.js';
3
3
  import { g as getPreviewType } from './extension-mapping-Bcm94u_z.js';
4
4
  import { n as negate } from './negate-ooVD-6_a.js';
5
5
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-COtSgrC5.js';
1
+ import { r as registerInstance, h } from './index-BK566_jX.js';
2
2
 
3
3
  const liveDocsInfoCss = () => `:host(limebb-live-docs-info){padding:1rem 2rem;display:flex;flex-direction:column;gap:0.5rem;border-style:dashed;border-color:rgb(var(--contrast-700));border-radius:0 0 0.5rem 0.5rem;border-width:0 1px 1px 1px}.header{display:flex;align-items:center;gap:0.5rem}h2,p{margin:0;color:rgb(var(--contrast-1100))}h2{font-size:large;font-weight:300}limel-icon{color:rgb(var(--color-orange-default));width:2rem}a{all:unset;cursor:pointer;transition:color 0.2s ease;color:rgb(var(--color-sky-default));margin-left:0.5rem}a:hover{color:rgb(var(--color-sky-dark));text-decoration:underline}`;
4
4
 
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, c as createEvent } from './index-COtSgrC5.js';
2
- import { U, n } from './index.esm-B9D_MXA6.js';
1
+ import { r as registerInstance, c as createEvent } from './index-BK566_jX.js';
2
+ import { U, n } from './index.esm-C__n3hug.js';
3
3
  import { H as HighlightFeedItemHandler } from './highlight-item.handler-BWMpG2bS.js';
4
4
 
5
5
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-COtSgrC5.js';
2
- import { n } from './index.esm-B9D_MXA6.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-BK566_jX.js';
2
+ import { n } from './index.esm-C__n3hug.js';
3
3
  import { t as toString, c as castPath, a as toKey, i as isKey, g as get, b as baseGet, d as arrayMap } from './get-Cq4rshNg.js';
4
4
  import { e as isArrayLike, f as isIndex, h as isArguments, j as arrayPush, S as Stack, k as keys, l as isLength, d as baseUnary } from './_Uint8Array-CUI8uY-p.js';
5
5
  import { c as isObject, e as eq, a as isArray, S as Symbol } from './_MapCache-BgAfMcRA.js';
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h } from './index-COtSgrC5.js';
1
+ import { r as registerInstance, h } from './index-BK566_jX.js';
2
2
 
3
3
  const mentionGroupCounterCss = () => `:host(limebb-mention-group-counter){order:2;margin-right:-0.5rem;box-sizing:border-box;transition:background-color 0.2s ease;min-width:fit-content;font-size:smaller;border-radius:9rem;cursor:help;padding:0.25rem 0.5rem;line-height:1;border:1px solid rgb(var(--contrast-500))}:host(limebb-mention-group-counter:hover){border-color:rgb(var(--contrast-100));background-color:rgb(var(--contrast-600))}`;
4
4
 
@@ -1,6 +1,6 @@
1
- import { r as registerInstance, g as getElement, h } from './index-COtSgrC5.js';
1
+ import { r as registerInstance, g as getElement, h } from './index-BK566_jX.js';
2
2
  import { f as findParentElement } from './dom-B95D7tDb.js';
3
- import { n } from './index.esm-B9D_MXA6.js';
3
+ import { n } from './index.esm-C__n3hug.js';
4
4
 
5
5
  const mentionCss = () => `:host(limebb-mention){display:inline}a{transition:background-color 0.2s ease;white-space:normal;overflow-wrap:break-word;word-break:break-word;padding:0 0.125rem;border-radius:0.25rem;text-decoration:none;color:rgb(var(--color-blue-default));background-color:rgb(var(--color-blue-default), 0.06)}a:hover{background-color:rgb(var(--color-blue-default), 0.16)}a:before,span:before{content:"@";opacity:0.7}`;
6
6
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, c as createEvent } from './index-COtSgrC5.js';
1
+ import { r as registerInstance, h, c as createEvent } from './index-BK566_jX.js';
2
2
  import { g as getPreviewType } from './extension-mapping-Bcm94u_z.js';
3
3
  import { g as getFileExtension } from './file-extension-DtnPTzDv.js';
4
4
 
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-COtSgrC5.js';
2
- import { n } from './index.esm-B9D_MXA6.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-BK566_jX.js';
2
+ import { n } from './index.esm-C__n3hug.js';
3
3
 
4
4
  const notificationItemCss = () => `@charset "UTF-8";*{box-sizing:border-box}:host(limebb-notification-item){isolation:isolate;position:relative;box-sizing:border-box;display:flex;flex-direction:column;gap:0.25rem;margin-left:0.5rem;border-radius:0.75rem;border:1px solid rgb(var(--contrast-500))}:host(limebb-notification-item):before{content:"";display:block;position:absolute;left:-1rem;top:0.85rem;border-radius:50%;height:0.5rem;width:0.5rem;transition:background-color 0.2s ease, scale 0.2s cubic-bezier(0.82, 0.3, 0.14, 1.36);scale:var(--limebb-notification-item-unread-badge-scale, 0.6);background-color:var(--limebb-notification-item-unread-badge-color, transparent)}:host(limebb-notification-item:hover) .timestamp{color:rgb(var(--contrast-1100))}:host(limebb-notification-item:hover) .body-text{opacity:1}.header{display:flex;align-items:center;gap:0.25rem;min-height:2rem;padding:0 0 0 0.25rem;margin-bottom:0.25rem}.header:not(:has(.icon)){padding-left:0.75rem}.header:not(:has(.unpromoted-actions-menu)){padding-right:0.5rem}.caption,.timestamp{font-size:0.75rem}.caption{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;flex-grow:1;font-weight:600;color:rgb(var(--contrast-900))}.timestamp{flex-shrink:0;margin-left:auto;transition:color 0.4s ease, opacity 0.2s ease;color:rgb(var(--contrast-900))}.headline{display:flex;gap:0.25rem;align-items:center}.content{display:flex;min-width:0;gap:0.5rem;padding:0 0.75rem 0.5rem 0.75rem}.heading{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:2.5rem;font-size:0.875rem;--markdown-hyperlink-color:var(--mdc-theme-primary);--markdown-hyperlink-color--hovered:rgb(var(--color-teal-light))}.body{display:flex;flex-direction:column;gap:0.5rem}.body-text{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:3;max-height:4.25rem;transition:opacity 0.2s ease;opacity:0.7}.icon{--icon-background-color:var(--limebb-feed-background-color);flex-shrink:0;width:1.5rem;padding:0.125rem}.author-avatar{border-radius:50%;width:2rem;height:2rem;object-fit:cover;margin-top:auto;margin-right:-0.25rem;margin-left:auto;box-shadow:0 0 0 1px rgb(var(--contrast-600))}.author{font-weight:bold;text-decoration:none;white-space:nowrap}a.author{position:relative;cursor:pointer;transition:color 0.2s ease;color:var(--mdc-theme-primary)}a.author:before{transition:opacity 0.2s ease, transform 0.3s ease-out;content:"";position:absolute;inset:auto 0 0 0;width:calc(100% - 0.5rem);margin:auto;height:0.125rem;border-radius:1rem;background-color:currentColor;opacity:0;transform:scale(0.6)}a.author:hover{color:rgb(var(--color-teal-light))}a.author:hover:before{opacity:0.3;transform:scale(1)}limel-chip-set{--button-shadow-normal:none;margin-left:-1rem;margin-bottom:-0.5rem}`;
5
5
 
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-COtSgrC5.js';
2
- import { n } from './index.esm-B9D_MXA6.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-BK566_jX.js';
2
+ import { n } from './index.esm-C__n3hug.js';
3
3
 
4
4
  /**
5
5
  * Processes a list of notifications by adding date headers and a "new items" indicator.
@@ -1,7 +1,7 @@
1
- import { r as registerInstance, g as getElement, h } from './index-COtSgrC5.js';
2
- import { g as getIcon } from './limetype-BcELY1NF.js';
1
+ import { r as registerInstance, g as getElement, h } from './index-BK566_jX.js';
2
+ import { g as getIcon } from './limetype-Muf9VutX.js';
3
3
  import { f as findParentElement } from './dom-B95D7tDb.js';
4
- import { b as It, n } from './index.esm-B9D_MXA6.js';
4
+ import { b as It, n } from './index.esm-C__n3hug.js';
5
5
 
6
6
  const logger = It('object-resolver');
7
7
  /**
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, h, H as Host } from './index-COtSgrC5.js';
2
- import { n } from './index.esm-B9D_MXA6.js';
1
+ import { r as registerInstance, h, H as Host } from './index-BK566_jX.js';
2
+ import { n } from './index.esm-C__n3hug.js';
3
3
  import { g as getPercentageClass, n as normalizeValue } from './normalize-value-Cg1DC15C.js';
4
4
 
5
5
  const percentageVisualizerCss = () => `@charset "UTF-8";*,::before,::after{box-sizing:border-box}:host(limebb-percentage-visualizer){width:100%}limel-notched-outline:not([invalid]:not([invalid=false])) .limel-notched-outline--outlines{--limel-notched-outline-border-color:transparent}div[slot=content]:focus{outline:none}div[slot=content]:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}div[slot=content]{display:flex;align-items:center;gap:0.5rem;border-radius:inherit;background-color:transparent !important}:host(limebb-percentage-visualizer[invalid]:not([invalid=false])) div[slot=content]{border-color:rgb(var(--color-red-default))}:host(limebb-percentage-visualizer):has(label) div[slot=content]{min-height:2.5rem;padding:0 0.375rem 0 1rem}.percentage-text{flex-shrink:0;min-width:2.5rem}:host([range-min^="-"]) .percentage-text{min-width:3.75rem}.percent-sign{opacity:0.4}.zero-point{content:"";position:absolute;transform:translateX(-50%);left:var(--limebb-percentage-visualizer-zero-point-position);height:0.25rem;width:0.25rem;border-radius:50%;box-shadow:0 0 0 0.125rem var(--limebb-percentage-visualizer-zero-point-color, rgb(var(--contrast-1200), 0.3));background-color:var(--limebb-percentage-visualizer-zero-point-color, rgb(var(--contrast-200), 0.9))}.percentage-bar{overflow:hidden;flex-grow:1;position:relative;display:flex;align-items:center;height:0.5rem;min-width:2rem;border-radius:0.5rem;background-color:rgb(var(--contrast-800), 0.6)}.percentage-fill{transition:width 0.2s ease;position:absolute;margin:auto;left:var(--limebb-percentage-visualizer-zero-point-position, 0);rotate:var(--limebb-percentage-visualizer-rotate, 0deg);transform-origin:left center;width:var(--limebb-percentage-visualizer-width);height:100%;border-radius:0.5rem}:host(limebb-percentage-visualizer:focus),:host(limebb-percentage-visualizer:focus-visible),:host(limebb-percentage-visualizer:focus-within){--limel-h-l-grid-template-rows-transition-speed:0.46s;--limel-h-l-grid-template-rows:1fr}:host(limebb-percentage-visualizer){--limel-h-l-grid-template-rows-transition-speed:0.3s;--limel-h-l-grid-template-rows:0fr}:host(limebb-percentage-visualizer:focus) limel-helper-line,:host(limebb-percentage-visualizer:focus-visible) limel-helper-line,:host(limebb-percentage-visualizer:focus-within) limel-helper-line,:host(limebb-percentage-visualizer:hover) limel-helper-line{will-change:grid-template-rows}.percentage-fill{background-color:var(--percentage-visualizer-color, var(--limebb-percentage-visualizer-color, var(--mdc-theme-primary)))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-200or-larger-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-darker))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-200to100-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-dark))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-100to90-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-dark))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-90to80-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-dark))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-80to70-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-70to60-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-red-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-60to50-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-coral-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-50to40-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-coral-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-40to30-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-orange-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-30to20-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-orange-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-20to10-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-amber-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-10to0-negative) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-amber-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-0) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--contrast-800))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-0to10-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-yellow-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-10to20-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-yellow-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-20to30-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-grass-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-30to40-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-grass-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-40to50-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-lime-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-50to60-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-lime-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-60to70-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-70to80-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-default))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-80to90-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-dark))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-90to100-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-dark))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-100to200-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-dark))}:host([range-min^="-"][display-percentage-colors]:not([display-percentage-colors=false]).has-value-200or-larger-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-darker))}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-0) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--contrast-800))}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-0to10-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--0to10)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-10to20-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--10to20)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-20to30-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--20to30)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-30to40-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--30to40)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-40to50-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--40to50)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-50to60-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--50to60)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-60to70-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--60to70)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-70to80-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--70to80)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-80to90-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--80to90)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-90to100-positive) .percentage-fill{--limebb-percentage-visualizer-color:var(--color-percent--90to100)}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-100to200-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-dark))}:host([display-percentage-colors]:not([display-percentage-colors=false]).has-value-200or-larger-positive) .percentage-fill{--limebb-percentage-visualizer-color:rgb(var(--color-teal-darker))}`;
@@ -1,7 +1,7 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-COtSgrC5.js';
2
- import { I as Ie, n } from './index.esm-B9D_MXA6.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-BK566_jX.js';
2
+ import { I as Ie, n } from './index.esm-C__n3hug.js';
3
3
  import { v as validatePropertyPath, a as getNormalizedProperties } from './property-resolution-CQUZjrU4.js';
4
- import { i as isManyRelation, g as getIcon } from './limetype-BcELY1NF.js';
4
+ import { i as isManyRelation, g as getIcon } from './limetype-Muf9VutX.js';
5
5
 
6
6
  const propertySelectorCss = () => `:host(limebb-property-selector){display:block}limel-menu{display:block;width:100%}`;
7
7
 
@@ -1,5 +1,5 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-COtSgrC5.js';
2
- import { M as Mt } from './index.esm-B9D_MXA6.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-BK566_jX.js';
2
+ import { M as Mt } from './index.esm-C__n3hug.js';
3
3
 
4
4
  const ruleArgFilterEditorCss = () => `:host{display:block}`;
5
5
 
@@ -0,0 +1,69 @@
1
+ import { r as registerInstance, c as createEvent, h } from './index-BK566_jX.js';
2
+
3
+ const ruleConditionChipCss = () => `:host{display:inline-flex;min-width:0}`;
4
+
5
+ const RuleConditionChip = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.remove = createEvent(this, "remove");
9
+ /**
10
+ * Whether the condition is negated. The chip has to say so: the switch that
11
+ * sets it is out of sight inside the editor.
12
+ */
13
+ this.negated = false;
14
+ /**
15
+ * @inheritdoc
16
+ */
17
+ this.invalid = false;
18
+ /**
19
+ * Whether this condition's editor is the one currently open.
20
+ */
21
+ this.selected = false;
22
+ /**
23
+ * Deliberately not passed on to `limel-chip`, which would render it as a
24
+ * disabled button. A condition's arguments live behind this chip and
25
+ * nowhere else, so a chip that cannot be opened is a rule that cannot be
26
+ * read. It takes the delete control away instead — see `removable`.
27
+ *
28
+ * @inheritdoc
29
+ */
30
+ this.readonly = false;
31
+ /**
32
+ * @inheritdoc
33
+ */
34
+ this.disabled = false;
35
+ /**
36
+ * Whether the chip offers a control that deletes the condition. `readonly`
37
+ * overrules it here rather than in the caller, since withholding `readonly`
38
+ * from `limel-chip` also withholds the lock it puts on the cross.
39
+ */
40
+ this.removable = true;
41
+ this.handleRemove = (event) => {
42
+ event.stopPropagation();
43
+ this.remove.emit();
44
+ };
45
+ }
46
+ render() {
47
+ return (h("limel-chip", { key: '3b1e45748efbdd1bdbf8effd7bca4976f9ba537c', text: this.text, icon: this.glyph, invalid: this.invalid, selected: this.selected, disabled: this.disabled, removable: this.removable && !this.readonly, onRemove: this.handleRemove }));
48
+ }
49
+ /**
50
+ * The glyph, with its colour put back on when it has one.
51
+ */
52
+ get glyph() {
53
+ if (!this.icon || !this.iconColor) {
54
+ return this.icon;
55
+ }
56
+ return { name: this.icon, color: this.iconColor };
57
+ }
58
+ /**
59
+ * The name, behind `¬` when negated — a symbol rather than a word, so it
60
+ * does not compete with the "not" the tree writes between the rows of a
61
+ * negated group.
62
+ */
63
+ get text() {
64
+ return this.negated ? `¬ ${this.label}` : this.label;
65
+ }
66
+ };
67
+ RuleConditionChip.style = ruleConditionChipCss();
68
+
69
+ export { RuleConditionChip as limebb_rule_condition_chip };
@@ -0,0 +1,281 @@
1
+ import { r as registerInstance, c as createEvent, h } from './index-BK566_jX.js';
2
+ import { L as LimeWebComponentTemplate } from './web-component-template-D1JpeNy_.js';
3
+
4
+ /** What a chip says for a condition with no name to put on it. */
5
+ const UNNAMED = '…';
6
+ /**
7
+ * Which `all`/`any` a combinator is built on, and whether a `not` goes round it.
8
+ * The wrapper is not a node of its own in a condition tree: it folds into the
9
+ * combinator of the group it wraps, and unfolds again on the way back out.
10
+ */
11
+ const SHAPE = {
12
+ all: { type: 'all', negated: false },
13
+ any: { type: 'any', negated: false },
14
+ 'not-all': { type: 'all', negated: true },
15
+ none: { type: 'any', negated: true },
16
+ };
17
+ const NEGATED_COMBINATOR = {
18
+ all: 'not-all',
19
+ any: 'none',
20
+ 'not-all': 'all',
21
+ none: 'any',
22
+ };
23
+ /**
24
+ * How `limebb-condition-tree` reads and rebuilds a {@link Rule}. Everything
25
+ * structural belongs to the tree; everything about what a rule *is* belongs
26
+ * here.
27
+ * @param source
28
+ */
29
+ function createRuleConditionTreeAdapter(source) {
30
+ return {
31
+ describe: (node, state) => describeRule(node, state, source),
32
+ group: group,
33
+ negate: negate,
34
+ createLeaf: (item) => {
35
+ var _a;
36
+ const leaf = { type: 'ref', id: String((_a = item === null || item === void 0 ? void 0 : item.value) !== null && _a !== void 0 ? _a : '') };
37
+ source.created().add(leaf);
38
+ return leaf;
39
+ },
40
+ };
41
+ }
42
+ /**
43
+ * How the rule joins what is inside it, and what that is — or nothing when it
44
+ * is a single condition rather than a group. A `not` is transparent: it becomes
45
+ * the group's combinator, and chains of them fold down to one.
46
+ * @param rule
47
+ */
48
+ function groupOf(rule) {
49
+ if (!isNode(rule)) {
50
+ return undefined;
51
+ }
52
+ if (rule.type === 'all' || rule.type === 'any') {
53
+ return Array.isArray(rule.rules)
54
+ ? { combinator: rule.type, rules: rule.rules }
55
+ : undefined;
56
+ }
57
+ if (rule.type !== 'not') {
58
+ return undefined;
59
+ }
60
+ const inner = groupOf(rule.rule);
61
+ return inner
62
+ ? {
63
+ combinator: NEGATED_COMBINATOR[inner.combinator],
64
+ rules: inner.rules,
65
+ }
66
+ : undefined;
67
+ }
68
+ /**
69
+ * The primitive a rule refers to, and whether it is negated — or nothing when
70
+ * the rule refers to none. Wrapping in a `not` is the only negation a rule
71
+ * condition has, having no "is not" vocabulary of its own.
72
+ * @param rule
73
+ */
74
+ function refOf(rule) {
75
+ if (!isNode(rule)) {
76
+ return undefined;
77
+ }
78
+ if (rule.type === 'ref') {
79
+ return { ref: rule, negated: false };
80
+ }
81
+ if (rule.type === 'not' && isNode(rule.rule) && rule.rule.type === 'ref') {
82
+ return { ref: rule.rule, negated: true };
83
+ }
84
+ return undefined;
85
+ }
86
+ /**
87
+ * Whether there is a rule here at all. A hand-edited rule can hold a `null` or
88
+ * a bare value where a node should be, and reading `type` off one throws, so
89
+ * everything that asks about structure asks this first.
90
+ * @param rule
91
+ */
92
+ function isNode(rule) {
93
+ return typeof rule === 'object' && rule !== null;
94
+ }
95
+ function describeRule(node, state, source) {
96
+ const issues = source.issues().get(node);
97
+ const group = groupOf(node);
98
+ if (group) {
99
+ return {
100
+ kind: 'group',
101
+ combinator: group.combinator,
102
+ // Never copies: the tree tells conditions apart by identity.
103
+ children: group.rules,
104
+ issues: issues,
105
+ };
106
+ }
107
+ const reference = refOf(node);
108
+ if (!reference) {
109
+ return unreadable(node, source, issues);
110
+ }
111
+ return describeRef(reference, state, source, issues);
112
+ }
113
+ /**
114
+ * How a condition reads: its primitive's name, the bare id when nobody
115
+ * registered it, and the placeholder when it has not even got that.
116
+ * @param ref
117
+ * @param source
118
+ */
119
+ function nameOf(ref, source) {
120
+ return source.titles.get(ref.id) || ref.id || UNNAMED;
121
+ }
122
+ function describeRef(reference, state, source, issues) {
123
+ const { ref, negated } = reference;
124
+ const metadata = source.metadata.get(ref.id);
125
+ const fresh = source.created().has(ref);
126
+ const editor = metadata === null || metadata === void 0 ? void 0 : metadata.configComponent;
127
+ return {
128
+ kind: 'leaf',
129
+ chip: {
130
+ label: nameOf(ref, source),
131
+ icon: glyphOf(metadata),
132
+ // Marked before validation has had its say, so that a rule loaded
133
+ // from storage does not read as sound for a render.
134
+ invalid: !metadata || !!(issues === null || issues === void 0 ? void 0 : issues.length),
135
+ component: {
136
+ name: 'limebb-rule-condition-chip',
137
+ props: {
138
+ negated: negated,
139
+ iconColor: colourOf(metadata),
140
+ },
141
+ },
142
+ },
143
+ // Every condition here is opaque, so the tree offers the negation and
144
+ // rebuilds it through `negate`.
145
+ negated: negated,
146
+ issues: issues,
147
+ // Just added and with something to configure: the one thing left to do
148
+ // is put in front of the author. One with nothing to configure is
149
+ // already complete, and stays shut.
150
+ autoOpen: fresh && !!editor,
151
+ editor: editor && {
152
+ name: 'limebb-rule-condition-editor',
153
+ props: {
154
+ configComponent: editor,
155
+ // Never into one they merely re-opened to look at.
156
+ focusOnOpen: fresh && !state.visited,
157
+ },
158
+ },
159
+ };
160
+ }
161
+ /**
162
+ * A rule this adapter cannot read: neither a group nor a reference. Drawn, so
163
+ * the tree is not silently short of a condition, and marked — but with no
164
+ * editor, which is what keeps it shut.
165
+ * @param node
166
+ * @param source
167
+ * @param issues
168
+ */
169
+ function unreadable(node, source, issues) {
170
+ var _a;
171
+ return {
172
+ kind: 'leaf',
173
+ chip: {
174
+ label: (_a = typeNameOf(node)) !== null && _a !== void 0 ? _a : UNNAMED,
175
+ icon: 'question',
176
+ invalid: true,
177
+ component: { name: 'limebb-rule-condition-chip' },
178
+ },
179
+ issues: (issues === null || issues === void 0 ? void 0 : issues.length)
180
+ ? issues
181
+ : [
182
+ source.translate('webclient.rule-editor.unreadable-condition', 'This condition cannot be read, and so cannot be edited here.'),
183
+ ],
184
+ };
185
+ }
186
+ /**
187
+ * What a node says it is, when it says anything at all. Read defensively: the
188
+ * nodes that get here are the ones that are not rules, so a `type` that is
189
+ * missing or is not a word is exactly how one arrives.
190
+ * @param node
191
+ */
192
+ function typeNameOf(node) {
193
+ if (!isNode(node)) {
194
+ return undefined;
195
+ }
196
+ const type = node.type;
197
+ return typeof type === 'string' && type ? type : undefined;
198
+ }
199
+ /**
200
+ * The primitive's glyph, or the one standing for a primitive nobody registered.
201
+ * Its colour travels separately — see {@link colourOf} — because the tree's
202
+ * chip vocabulary has room only for the name.
203
+ * @param metadata
204
+ */
205
+ function glyphOf(metadata) {
206
+ if (!metadata) {
207
+ return 'question';
208
+ }
209
+ if (!metadata.icon) {
210
+ return undefined;
211
+ }
212
+ return typeof metadata.icon === 'string'
213
+ ? metadata.icon
214
+ : metadata.icon.name;
215
+ }
216
+ /**
217
+ * The colour the primitive asked for its glyph, when it asked for one.
218
+ * @param metadata
219
+ */
220
+ function colourOf(metadata) {
221
+ return typeof (metadata === null || metadata === void 0 ? void 0 : metadata.icon) === 'object' ? metadata.icon.color : undefined;
222
+ }
223
+ function group(combinator, children) {
224
+ const inner = { type: SHAPE[combinator].type, rules: [...children] };
225
+ return SHAPE[combinator].negated ? { type: 'not', rule: inner } : inner;
226
+ }
227
+ function negate(node, negated) {
228
+ if (negated) {
229
+ return node.type === 'not' ? node : { type: 'not', rule: node };
230
+ }
231
+ return node.type === 'not' ? node.rule : node;
232
+ }
233
+
234
+ const ruleConditionEditorCss = () => `:host{display:block;padding:1rem;min-width:24rem}`;
235
+
236
+ const RuleConditionEditor = class {
237
+ constructor(hostRef) {
238
+ registerInstance(this, hostRef);
239
+ this.conditionChange = createEvent(this, "conditionChange");
240
+ /**
241
+ * Forwarded so that component can take focus as it appears. Set only for a
242
+ * condition the author has just added.
243
+ */
244
+ this.focusOnOpen = false;
245
+ /**
246
+ * @inheritdoc
247
+ */
248
+ this.readonly = false;
249
+ /**
250
+ * @inheritdoc
251
+ */
252
+ this.disabled = false;
253
+ /**
254
+ * The config component's `change` bubbles and is composed, so it would
255
+ * otherwise reach the rule editor and be taken for the whole rule changing.
256
+ * It stops here and leaves as the event the tree listens for.
257
+ * @param event
258
+ */
259
+ this.handleChange = (event) => {
260
+ event.stopPropagation();
261
+ const reference = this.reference;
262
+ if (!reference) {
263
+ return;
264
+ }
265
+ const next = Object.assign(Object.assign({}, reference.ref), { args: event.detail });
266
+ this.conditionChange.emit(reference.negated ? { type: 'not', rule: next } : next);
267
+ };
268
+ }
269
+ render() {
270
+ if (!this.configComponent || !this.reference) {
271
+ return null;
272
+ }
273
+ return (h(LimeWebComponentTemplate, { class: "editor", platform: this.platform, context: this.context, name: this.configComponent.name, props: Object.assign(Object.assign({}, this.configComponent.props), { value: this.reference.ref.args, readonly: this.readonly, disabled: this.disabled, focusOnOpen: this.focusOnOpen, onChange: this.handleChange }) }));
274
+ }
275
+ get reference() {
276
+ return this.value ? refOf(this.value) : undefined;
277
+ }
278
+ };
279
+ RuleConditionEditor.style = ruleConditionEditorCss();
280
+
281
+ export { RuleConditionEditor as R, createRuleConditionTreeAdapter as c, groupOf as g };
@@ -0,0 +1,3 @@
1
+ export { R as limebb_rule_condition_editor } from './limebb-rule-condition-editor-DeY758N-.js';
2
+ import './index-BK566_jX.js';
3
+ import './web-component-template-D1JpeNy_.js';