@limetech/lime-crm-building-blocks 1.125.0 → 1.126.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 (245) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
  3. package/dist/cjs/limebb-alert-dialog.cjs.entry.js +1 -1
  4. package/dist/cjs/limebb-browser.cjs.entry.js +2 -2
  5. package/dist/cjs/limebb-chat-icon-list_3.cjs.entry.js +4 -4
  6. package/dist/cjs/limebb-chat-list.cjs.entry.js +1 -1
  7. package/dist/cjs/limebb-color-palette-picker.cjs.entry.js +1 -1
  8. package/dist/cjs/limebb-color-palette-swatches.cjs.entry.js +1 -1
  9. package/dist/cjs/limebb-component-config.cjs.entry.js +2 -14
  10. package/dist/cjs/limebb-composer-toolbar.cjs.entry.js +3 -3
  11. package/dist/cjs/limebb-currency-picker.cjs.entry.js +1 -1
  12. package/dist/cjs/limebb-dashboard-widget.cjs.entry.js +1 -1
  13. package/dist/cjs/limebb-date-picker.cjs.entry.js +1 -1
  14. package/dist/cjs/limebb-date-range.cjs.entry.js +1 -1
  15. package/dist/cjs/limebb-document-chips.cjs.entry.js +1 -1
  16. package/dist/cjs/limebb-document-item.cjs.entry.js +2 -2
  17. package/dist/cjs/limebb-document-picker.cjs.entry.js +1 -1
  18. package/dist/cjs/limebb-feed-item-thumbnail-file-info.cjs.entry.js +1 -1
  19. package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +1 -1
  20. package/dist/cjs/limebb-feed.cjs.entry.js +1 -1
  21. package/dist/cjs/limebb-icon-picker.cjs.entry.js +1 -1
  22. package/dist/cjs/limebb-info-tile-format.cjs.entry.js +1 -1
  23. package/dist/cjs/limebb-info-tile.cjs.entry.js +1 -1
  24. package/dist/cjs/limebb-kanban-group.cjs.entry.js +1 -1
  25. package/dist/cjs/limebb-kanban-item.cjs.entry.js +1 -1
  26. package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +1 -1
  27. package/dist/cjs/limebb-lime-query-filter-builder_3.cjs.entry.js +2 -2
  28. package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +1 -1
  29. package/dist/cjs/limebb-lime-query-filter-group_3.cjs.entry.js +3 -3
  30. package/dist/cjs/limebb-lime-query-order-by-item.cjs.entry.js +2 -2
  31. package/dist/cjs/limebb-lime-query-response-format-builder.cjs.entry.js +1 -1
  32. package/dist/cjs/limebb-lime-query-response-format-editor_2.cjs.entry.js +1 -1
  33. package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
  34. package/dist/cjs/limebb-locale-picker.cjs.entry.js +1 -1
  35. package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
  36. package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +2 -2
  37. package/dist/cjs/limebb-notification-item.cjs.entry.js +1 -1
  38. package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +2 -2
  39. package/dist/cjs/limebb-rule-chip-popover.cjs.entry.js +59 -0
  40. package/dist/cjs/limebb-rule-editor.cjs.entry.js +646 -0
  41. package/dist/cjs/limebb-rule-gate.cjs.entry.js +5 -1
  42. package/dist/cjs/limebb-text-editor.cjs.entry.js +1 -1
  43. package/dist/cjs/limebb-trend-indicator.cjs.entry.js +1 -1
  44. package/dist/cjs/loader.cjs.js +1 -1
  45. package/dist/cjs/web-component-template-BWCutZB6.js +18 -0
  46. package/dist/collection/collection-manifest.json +2 -0
  47. package/dist/collection/components/alert-dialog/alert-dialog.js +1 -1
  48. package/dist/collection/components/browser/browser.js +2 -2
  49. package/dist/collection/components/chat-list/chat-icon-list/chat-icon-list.js +1 -1
  50. package/dist/collection/components/chat-list/chat-item/chat-item.js +2 -2
  51. package/dist/collection/components/chat-list/chat-list.js +1 -1
  52. package/dist/collection/components/chat-list/typing-indicator/typing-indicator.js +1 -1
  53. package/dist/collection/components/color-palette-picker/color-palette-picker.js +1 -1
  54. package/dist/collection/components/color-palette-picker/color-palette-swatches/color-palette-swatches.js +1 -1
  55. package/dist/collection/components/composer-toolbar/composer-toolbar.js +3 -3
  56. package/dist/collection/components/currency-picker/currency-picker.js +1 -1
  57. package/dist/collection/components/dashboard-widget/dashboard-widget.js +1 -1
  58. package/dist/collection/components/date-picker/date-picker.js +1 -1
  59. package/dist/collection/components/date-range/date-range.js +1 -1
  60. package/dist/collection/components/document-chips/document-chips.js +1 -1
  61. package/dist/collection/components/document-picker/document-item/document-item.js +2 -2
  62. package/dist/collection/components/document-picker/document-picker.js +1 -1
  63. package/dist/collection/components/feed/feed-item/feed-timeline-item.js +1 -1
  64. package/dist/collection/components/feed/feed-item-thumbnail-file-info/feed-item-thumbnail-file-info.js +1 -1
  65. package/dist/collection/components/feed/feed.js +1 -1
  66. package/dist/collection/components/icon-picker/icon-picker.js +1 -1
  67. package/dist/collection/components/info-tile/format/config/info-tile-format.js +1 -1
  68. package/dist/collection/components/info-tile/info-tile.js +1 -1
  69. package/dist/collection/components/kanban/kanban-group/kanban-group.js +1 -1
  70. package/dist/collection/components/kanban/kanban-item/kanban-item.js +1 -1
  71. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +1 -1
  72. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js +2 -2
  73. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +1 -1
  74. package/dist/collection/components/lime-query-builder/lime-query-builder.js +1 -1
  75. package/dist/collection/components/lime-query-builder/lime-query-response-format-builder.js +1 -1
  76. package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +1 -1
  77. package/dist/collection/components/lime-query-builder/order-by/order-by-editor.js +1 -1
  78. package/dist/collection/components/lime-query-builder/order-by/order-by-item.js +2 -2
  79. package/dist/collection/components/lime-query-builder/response-format/response-format-item.js +1 -1
  80. package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
  81. package/dist/collection/components/locale-picker/locale-picker.js +1 -1
  82. package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
  83. package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
  84. package/dist/collection/components/rule-editor/chip-picker-view.js +141 -0
  85. package/dist/collection/components/rule-editor/group-node-view.js +79 -0
  86. package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.css +36 -0
  87. package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.js +301 -0
  88. package/dist/collection/components/rule-editor/rule-editor-views.js +43 -0
  89. package/dist/collection/components/rule-editor/rule-editor.css +96 -0
  90. package/dist/collection/components/rule-editor/rule-editor.js +457 -0
  91. package/dist/collection/components/rule-editor/rule-operations.js +132 -0
  92. package/dist/collection/components/rule-editor/view-helpers.js +70 -0
  93. package/dist/collection/components/rule-gate/rule-gate.js +9 -4
  94. package/dist/collection/components/summary-popover/summary-popover.js +2 -2
  95. package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
  96. package/dist/collection/components/text-editor/text-editor.js +1 -1
  97. package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
  98. package/dist/components/chat-icon-list.js +1 -1
  99. package/dist/components/chat-item.js +1 -1
  100. package/dist/components/currency-picker.js +1 -1
  101. package/dist/components/date-picker.js +1 -1
  102. package/dist/components/document-item.js +1 -1
  103. package/dist/components/feed-item-thumbnail-file-info.js +1 -1
  104. package/dist/components/feed-timeline-item.js +1 -1
  105. package/dist/components/kanban-group.js +1 -1
  106. package/dist/components/kanban-item.js +1 -1
  107. package/dist/components/lime-query-filter-comparison.js +1 -1
  108. package/dist/components/lime-query-filter-expression.js +1 -1
  109. package/dist/components/limebb-alert-dialog.js +1 -1
  110. package/dist/components/limebb-browser.js +1 -1
  111. package/dist/components/limebb-chat-list.js +1 -1
  112. package/dist/components/limebb-color-palette-picker.js +1 -1
  113. package/dist/components/limebb-color-palette-swatches.js +1 -1
  114. package/dist/components/limebb-component-config.js +1 -1
  115. package/dist/components/limebb-composer-toolbar.js +1 -1
  116. package/dist/components/limebb-dashboard-widget.js +1 -1
  117. package/dist/components/limebb-date-range.js +1 -1
  118. package/dist/components/limebb-document-chips.js +1 -1
  119. package/dist/components/limebb-document-picker.js +1 -1
  120. package/dist/components/limebb-feed.js +1 -1
  121. package/dist/components/limebb-icon-picker.js +1 -1
  122. package/dist/components/limebb-info-tile-format.js +1 -1
  123. package/dist/components/limebb-info-tile.js +1 -1
  124. package/dist/components/limebb-lime-query-builder.js +1 -1
  125. package/dist/components/limebb-lime-query-response-format-builder.js +1 -1
  126. package/dist/components/limebb-locale-picker.js +1 -1
  127. package/dist/components/limebb-mention-group-counter.js +1 -1
  128. package/dist/components/limebb-rule-chip-popover.d.ts +11 -0
  129. package/dist/components/limebb-rule-chip-popover.js +1 -0
  130. package/dist/components/limebb-rule-editor.d.ts +11 -0
  131. package/dist/components/limebb-rule-editor.js +1 -0
  132. package/dist/components/limebb-rule-gate.js +1 -1
  133. package/dist/components/limebb-text-editor.js +1 -1
  134. package/dist/components/limebb-trend-indicator.js +1 -1
  135. package/dist/components/limetype-field.js +1 -1
  136. package/dist/components/live-docs-info.js +1 -1
  137. package/dist/components/notification-item.js +1 -1
  138. package/dist/components/order-by-editor.js +1 -1
  139. package/dist/components/order-by-item.js +1 -1
  140. package/dist/components/percentage-visualizer.js +1 -1
  141. package/dist/components/response-format-item.js +1 -1
  142. package/dist/components/rule-chip-popover.js +1 -0
  143. package/dist/components/summary-popover.js +1 -1
  144. package/dist/components/typing-indicator.js +1 -1
  145. package/dist/components/web-component-template.js +1 -0
  146. package/dist/esm/lime-crm-building-blocks.js +1 -1
  147. package/dist/esm/limebb-alert-dialog.entry.js +1 -1
  148. package/dist/esm/limebb-browser.entry.js +2 -2
  149. package/dist/esm/limebb-chat-icon-list_3.entry.js +4 -4
  150. package/dist/esm/limebb-chat-list.entry.js +1 -1
  151. package/dist/esm/limebb-color-palette-picker.entry.js +1 -1
  152. package/dist/esm/limebb-color-palette-swatches.entry.js +1 -1
  153. package/dist/esm/limebb-component-config.entry.js +2 -14
  154. package/dist/esm/limebb-composer-toolbar.entry.js +3 -3
  155. package/dist/esm/limebb-currency-picker.entry.js +1 -1
  156. package/dist/esm/limebb-dashboard-widget.entry.js +1 -1
  157. package/dist/esm/limebb-date-picker.entry.js +1 -1
  158. package/dist/esm/limebb-date-range.entry.js +1 -1
  159. package/dist/esm/limebb-document-chips.entry.js +1 -1
  160. package/dist/esm/limebb-document-item.entry.js +2 -2
  161. package/dist/esm/limebb-document-picker.entry.js +1 -1
  162. package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
  163. package/dist/esm/limebb-feed-timeline-item.entry.js +1 -1
  164. package/dist/esm/limebb-feed.entry.js +1 -1
  165. package/dist/esm/limebb-icon-picker.entry.js +1 -1
  166. package/dist/esm/limebb-info-tile-format.entry.js +1 -1
  167. package/dist/esm/limebb-info-tile.entry.js +1 -1
  168. package/dist/esm/limebb-kanban-group.entry.js +1 -1
  169. package/dist/esm/limebb-kanban-item.entry.js +1 -1
  170. package/dist/esm/limebb-lime-query-builder.entry.js +1 -1
  171. package/dist/esm/limebb-lime-query-filter-builder_3.entry.js +2 -2
  172. package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +1 -1
  173. package/dist/esm/limebb-lime-query-filter-group_3.entry.js +3 -3
  174. package/dist/esm/limebb-lime-query-order-by-item.entry.js +2 -2
  175. package/dist/esm/limebb-lime-query-response-format-builder.entry.js +1 -1
  176. package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +1 -1
  177. package/dist/esm/limebb-live-docs-info.entry.js +2 -2
  178. package/dist/esm/limebb-locale-picker.entry.js +1 -1
  179. package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
  180. package/dist/esm/limebb-navigation-button_2.entry.js +2 -2
  181. package/dist/esm/limebb-notification-item.entry.js +1 -1
  182. package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
  183. package/dist/esm/limebb-rule-chip-popover.entry.js +57 -0
  184. package/dist/esm/limebb-rule-editor.entry.js +644 -0
  185. package/dist/esm/limebb-rule-gate.entry.js +5 -1
  186. package/dist/esm/limebb-text-editor.entry.js +1 -1
  187. package/dist/esm/limebb-trend-indicator.entry.js +1 -1
  188. package/dist/esm/loader.js +1 -1
  189. package/dist/esm/web-component-template-6zRYia86.js +16 -0
  190. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  191. package/dist/lime-crm-building-blocks/{p-f3c412b3.entry.js → p-057e1638.entry.js} +1 -1
  192. package/dist/lime-crm-building-blocks/{p-b35ebf4d.entry.js → p-0c572fe9.entry.js} +1 -1
  193. package/dist/lime-crm-building-blocks/{p-8b11a02c.entry.js → p-11494f30.entry.js} +1 -1
  194. package/dist/lime-crm-building-blocks/{p-fc1aec12.entry.js → p-1747221f.entry.js} +1 -1
  195. package/dist/lime-crm-building-blocks/p-1831e571.entry.js +1 -0
  196. package/dist/lime-crm-building-blocks/{p-a4584260.entry.js → p-184ae23d.entry.js} +1 -1
  197. package/dist/lime-crm-building-blocks/{p-0be33708.entry.js → p-20206710.entry.js} +1 -1
  198. package/dist/lime-crm-building-blocks/{p-fa7597f7.entry.js → p-24fc049c.entry.js} +1 -1
  199. package/dist/lime-crm-building-blocks/{p-900b74c0.entry.js → p-277b6ad4.entry.js} +1 -1
  200. package/dist/lime-crm-building-blocks/{p-b74fe1ed.entry.js → p-2cb31064.entry.js} +1 -1
  201. package/dist/lime-crm-building-blocks/{p-c93314a6.entry.js → p-3313e357.entry.js} +1 -1
  202. package/dist/lime-crm-building-blocks/{p-593340d9.entry.js → p-3781a766.entry.js} +1 -1
  203. package/dist/lime-crm-building-blocks/{p-a3d4f2e1.entry.js → p-43a7facd.entry.js} +1 -1
  204. package/dist/lime-crm-building-blocks/{p-152b4f92.entry.js → p-6cceabf1.entry.js} +1 -1
  205. package/dist/lime-crm-building-blocks/{p-c5f0582c.entry.js → p-6d3a9ed3.entry.js} +1 -1
  206. package/dist/lime-crm-building-blocks/{p-b5d84fff.entry.js → p-71a6f624.entry.js} +1 -1
  207. package/dist/lime-crm-building-blocks/{p-4c255e2f.entry.js → p-731820f0.entry.js} +1 -1
  208. package/dist/lime-crm-building-blocks/p-74455a30.entry.js +1 -0
  209. package/dist/lime-crm-building-blocks/p-7922726c.entry.js +1 -0
  210. package/dist/lime-crm-building-blocks/{p-f3ba4ed1.entry.js → p-7a125570.entry.js} +1 -1
  211. package/dist/lime-crm-building-blocks/{p-5c420ada.entry.js → p-7d51a34c.entry.js} +1 -1
  212. package/dist/lime-crm-building-blocks/{p-f04ca19d.entry.js → p-7fee7ef3.entry.js} +1 -1
  213. package/dist/lime-crm-building-blocks/{p-a27e9bbb.entry.js → p-8084e825.entry.js} +1 -1
  214. package/dist/lime-crm-building-blocks/{p-6a27184b.entry.js → p-861ac606.entry.js} +1 -1
  215. package/dist/lime-crm-building-blocks/{p-b4ae3ed3.entry.js → p-8d3fa274.entry.js} +1 -1
  216. package/dist/lime-crm-building-blocks/{p-70957bab.entry.js → p-9f7992b0.entry.js} +1 -1
  217. package/dist/lime-crm-building-blocks/p-C_tMNOSt.js +1 -0
  218. package/dist/lime-crm-building-blocks/{p-6941de0b.entry.js → p-abcb1e49.entry.js} +1 -1
  219. package/dist/lime-crm-building-blocks/{p-9041e7aa.entry.js → p-b1a8d1a0.entry.js} +1 -1
  220. package/dist/lime-crm-building-blocks/p-b8d9ff68.entry.js +1 -0
  221. package/dist/lime-crm-building-blocks/{p-8f70f909.entry.js → p-bec4231f.entry.js} +1 -1
  222. package/dist/lime-crm-building-blocks/{p-8e6446b5.entry.js → p-c139ab98.entry.js} +1 -1
  223. package/dist/lime-crm-building-blocks/{p-e84ff80f.entry.js → p-c4f41ec4.entry.js} +1 -1
  224. package/dist/lime-crm-building-blocks/{p-24004bf3.entry.js → p-c609b5ec.entry.js} +1 -1
  225. package/dist/lime-crm-building-blocks/{p-ebd152ab.entry.js → p-c6a913af.entry.js} +1 -1
  226. package/dist/lime-crm-building-blocks/{p-c60673a4.entry.js → p-dd38e0ba.entry.js} +1 -1
  227. package/dist/lime-crm-building-blocks/{p-53b19393.entry.js → p-de6f4670.entry.js} +1 -1
  228. package/dist/lime-crm-building-blocks/{p-fc6d9cea.entry.js → p-e6ed33ff.entry.js} +1 -1
  229. package/dist/lime-crm-building-blocks/p-e717bdff.entry.js +1 -0
  230. package/dist/lime-crm-building-blocks/{p-da248a53.entry.js → p-ef62c7d8.entry.js} +1 -1
  231. package/dist/lime-crm-building-blocks/{p-23188fe0.entry.js → p-f0a567f3.entry.js} +1 -1
  232. package/dist/lime-crm-building-blocks/{p-befd1d3c.entry.js → p-fd6dcfe3.entry.js} +1 -1
  233. package/dist/types/components/rule-editor/chip-picker-view.d.ts +27 -0
  234. package/dist/types/components/rule-editor/group-node-view.d.ts +11 -0
  235. package/dist/types/components/rule-editor/rule-chip-popover/rule-chip-popover.d.ts +31 -0
  236. package/dist/types/components/rule-editor/rule-editor-views.d.ts +51 -0
  237. package/dist/types/components/rule-editor/rule-editor.d.ts +118 -0
  238. package/dist/types/components/rule-editor/rule-operations.d.ts +62 -0
  239. package/dist/types/components/rule-editor/view-helpers.d.ts +40 -0
  240. package/dist/types/components/rule-gate/rule-gate.d.ts +5 -2
  241. package/dist/types/components.d.ts +300 -6
  242. package/package.json +4 -4
  243. package/dist/lime-crm-building-blocks/p-4a93a4df.entry.js +0 -1
  244. package/dist/lime-crm-building-blocks/p-6318fd46.entry.js +0 -1
  245. package/dist/lime-crm-building-blocks/p-e3a3c291.entry.js +0 -1
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { AlertType } from "./components/alert-dialog/alert-dialog.types";
9
- import { AggregateOperator, AndOrExpression, Expression, LimeFileUrlType, LimeType, LimeWebComponentContext, LimeWebComponentPlatform, NotExpression, Operator, Rule, RuleScope } from "@limetech/lime-web-components";
9
+ import { AggregateOperator, AndOrExpression, Expression, JsonValue, LimeFileUrlType, LimeType, LimeWebComponentContext, LimeWebComponentPlatform, NotExpression, Operator, PrimitiveMetadata, Rule, RuleRef, RuleScope, SubjectRegistry } from "@limetech/lime-web-components";
10
10
  import { BrowserItem } from "./components/browser/browser-item.types";
11
11
  import { ActionBarItem, CustomElementDefinition, DateType, EditorUiType, FileInfo, FormInfo, Icon, IconName, Image, Languages, ListItem, ListSeparator, OpenDirection } from "@limetech/lime-elements";
12
12
  import { ChatIconList } from "./components/chat-list/chat-icon-list/chat-icon-list.types";
@@ -31,7 +31,7 @@ import { NotificationItem } from "./components/notification-list/notification-it
31
31
  import { TriggerMap } from "./components/text-editor/text-editor.types";
32
32
  import { EnhancedEditorMetadata } from "./components/text-editor/uploader/building-blocks-upload-handler";
33
33
  export { AlertType } from "./components/alert-dialog/alert-dialog.types";
34
- export { AggregateOperator, AndOrExpression, Expression, LimeFileUrlType, LimeType, LimeWebComponentContext, LimeWebComponentPlatform, NotExpression, Operator, Rule, RuleScope } from "@limetech/lime-web-components";
34
+ export { AggregateOperator, AndOrExpression, Expression, JsonValue, LimeFileUrlType, LimeType, LimeWebComponentContext, LimeWebComponentPlatform, NotExpression, Operator, PrimitiveMetadata, Rule, RuleRef, RuleScope, SubjectRegistry } from "@limetech/lime-web-components";
35
35
  export { BrowserItem } from "./components/browser/browser-item.types";
36
36
  export { ActionBarItem, CustomElementDefinition, DateType, EditorUiType, FileInfo, FormInfo, Icon, IconName, Image, Languages, ListItem, ListSeparator, OpenDirection } from "@limetech/lime-elements";
37
37
  export { ChatIconList } from "./components/chat-list/chat-icon-list/chat-icon-list.types";
@@ -2199,6 +2199,94 @@ export namespace Components {
2199
2199
  */
2200
2200
  "value": string;
2201
2201
  }
2202
+ /**
2203
+ * Popover content for a rule-editor chip. Carries its own styles so
2204
+ * they travel with the element when `limel-popover` portals it out of
2205
+ * the rule-editor's shadow DOM.
2206
+ * @private
2207
+ */
2208
+ interface LimebbRuleChipPopover {
2209
+ "context": LimeWebComponentContext;
2210
+ /**
2211
+ * @default false
2212
+ */
2213
+ "disabled": boolean;
2214
+ /**
2215
+ * @default true
2216
+ */
2217
+ "isMutable": boolean;
2218
+ /**
2219
+ * @default false
2220
+ */
2221
+ "isNegated": boolean;
2222
+ "metadata"?: PrimitiveMetadata;
2223
+ "platform": LimeWebComponentPlatform;
2224
+ /**
2225
+ * @default false
2226
+ */
2227
+ "readonly": boolean;
2228
+ "refNode": RuleRef;
2229
+ }
2230
+ /**
2231
+ * Tree editor for {@link Rule}.
2232
+ * Renders a `Rule` value as a tree of nodes. Lets an author pick
2233
+ * primitive refs in `all` / `any` groups, toggle negation, delete
2234
+ * nodes, and edit per-primitive args via the editor declared on each
2235
+ * primitive's metadata.
2236
+ * The component is value-in / value-out. Pass `value` and listen for
2237
+ * `change`; persistence is the caller's concern.
2238
+ * Pass `availableSubjects` to forward the list of subject slots the
2239
+ * caller knows will be available where the rule runs. The component
2240
+ * forwards it to `RuleRegistry.validate` so `missing-slot` diagnostics
2241
+ * surface inline on the offending nodes.
2242
+ * @exampleComponent limebb-example-rule-editor
2243
+ * @alpha
2244
+ * @private
2245
+ */
2246
+ interface LimebbRuleEditor {
2247
+ /**
2248
+ * Subject slots the caller knows will be available where the rule runs. Forwarded to the rule registry's `validate` method so `missing-slot` issues surface inline. Leave unset when the evaluation context is not known (typical for editors that target the saved-rule library).
2249
+ */
2250
+ "availableSubjects"?: (keyof SubjectRegistry)[];
2251
+ /**
2252
+ * The context describing where this component is running. The context provides information about the current limetype and record ID (if viewing/editing a specific record). Components can use this to load relevant data and understand their operating environment.
2253
+ */
2254
+ "context": LimeWebComponentContext;
2255
+ /**
2256
+ * Whether or not the current property is disabled The mutation UI is hidden when set. The args editor is rendered with `disabled` forwarded to it.
2257
+ * @inheritdoc
2258
+ */
2259
+ "disabled": boolean;
2260
+ /**
2261
+ * The helper text for the current property
2262
+ * @inheritdoc
2263
+ */
2264
+ "helperText": string;
2265
+ /**
2266
+ * The label of the current property
2267
+ * @inheritdoc
2268
+ */
2269
+ "label": string;
2270
+ /**
2271
+ * Reference to the platform service container. Use this to access all platform services like repositories, HTTP client, command bus, navigator, and more. The platform instance is shared across all components in the same application context.
2272
+ */
2273
+ "platform": LimeWebComponentPlatform;
2274
+ /**
2275
+ * Whether or not the current property is readonly The mutation UI (delete and negate toggles, add-group button) is hidden when set. The args editor for each ref is still rendered, with `readonly` forwarded to it.
2276
+ * @inheritdoc
2277
+ */
2278
+ "readonly": boolean;
2279
+ /**
2280
+ * Whether or not the current property is required
2281
+ * @inheritdoc
2282
+ */
2283
+ "required": boolean;
2284
+ /**
2285
+ * The value of the current property
2286
+ * @inheritdoc
2287
+ */
2288
+ "value": Rule | undefined;
2289
+ }
2202
2290
  /**
2203
2291
  * Renders its slot only when the configured rule evaluates true.
2204
2292
  * Pass a {@link Rule} and the gate compiles it on load and on prop
@@ -2206,13 +2294,14 @@ export namespace Components {
2206
2294
  * {@link RuleRegistry} platform service.
2207
2295
  * @exampleComponent limebb-example-rule-gate
2208
2296
  * @alpha
2297
+ * @private
2209
2298
  */
2210
2299
  interface LimebbRuleGate {
2211
2300
  "platform": LimeWebComponentPlatform;
2212
2301
  /**
2213
- * The rule to evaluate.
2302
+ * The rule to evaluate. When unset, the gate renders its slot unconditionally — "no rule" means "no gating", which mirrors the editor's `Rule | undefined` emit contract.
2214
2303
  */
2215
- "rule": Rule;
2304
+ "rule": Rule | undefined;
2216
2305
  /**
2217
2306
  * Optional scope override. By default the gate resolves subject values by walking up the DOM to ancestors that registered providers with the rule registry. Pass an explicit scope to bypass that walk.
2218
2307
  */
@@ -2701,6 +2790,14 @@ export interface LimebbPropertySelectorCustomEvent<T> extends CustomEvent<T> {
2701
2790
  detail: T;
2702
2791
  target: HTMLLimebbPropertySelectorElement;
2703
2792
  }
2793
+ export interface LimebbRuleChipPopoverCustomEvent<T> extends CustomEvent<T> {
2794
+ detail: T;
2795
+ target: HTMLLimebbRuleChipPopoverElement;
2796
+ }
2797
+ export interface LimebbRuleEditorCustomEvent<T> extends CustomEvent<T> {
2798
+ detail: T;
2799
+ target: HTMLLimebbRuleEditorElement;
2800
+ }
2704
2801
  export interface LimebbSummaryPopoverCustomEvent<T> extends CustomEvent<T> {
2705
2802
  detail: T;
2706
2803
  target: HTMLLimebbSummaryPopoverElement;
@@ -4198,6 +4295,64 @@ declare global {
4198
4295
  prototype: HTMLLimebbPropertySelectorElement;
4199
4296
  new (): HTMLLimebbPropertySelectorElement;
4200
4297
  };
4298
+ interface HTMLLimebbRuleChipPopoverElementEventMap {
4299
+ "negate": boolean;
4300
+ "updateArgs": JsonValue;
4301
+ "deleteChip": void;
4302
+ }
4303
+ /**
4304
+ * Popover content for a rule-editor chip. Carries its own styles so
4305
+ * they travel with the element when `limel-popover` portals it out of
4306
+ * the rule-editor's shadow DOM.
4307
+ * @private
4308
+ */
4309
+ interface HTMLLimebbRuleChipPopoverElement extends Components.LimebbRuleChipPopover, HTMLStencilElement {
4310
+ addEventListener<K extends keyof HTMLLimebbRuleChipPopoverElementEventMap>(type: K, listener: (this: HTMLLimebbRuleChipPopoverElement, ev: LimebbRuleChipPopoverCustomEvent<HTMLLimebbRuleChipPopoverElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
4311
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
4312
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
4313
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
4314
+ removeEventListener<K extends keyof HTMLLimebbRuleChipPopoverElementEventMap>(type: K, listener: (this: HTMLLimebbRuleChipPopoverElement, ev: LimebbRuleChipPopoverCustomEvent<HTMLLimebbRuleChipPopoverElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
4315
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
4316
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
4317
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
4318
+ }
4319
+ var HTMLLimebbRuleChipPopoverElement: {
4320
+ prototype: HTMLLimebbRuleChipPopoverElement;
4321
+ new (): HTMLLimebbRuleChipPopoverElement;
4322
+ };
4323
+ interface HTMLLimebbRuleEditorElementEventMap {
4324
+ "change": Rule | undefined;
4325
+ }
4326
+ /**
4327
+ * Tree editor for {@link Rule}.
4328
+ * Renders a `Rule` value as a tree of nodes. Lets an author pick
4329
+ * primitive refs in `all` / `any` groups, toggle negation, delete
4330
+ * nodes, and edit per-primitive args via the editor declared on each
4331
+ * primitive's metadata.
4332
+ * The component is value-in / value-out. Pass `value` and listen for
4333
+ * `change`; persistence is the caller's concern.
4334
+ * Pass `availableSubjects` to forward the list of subject slots the
4335
+ * caller knows will be available where the rule runs. The component
4336
+ * forwards it to `RuleRegistry.validate` so `missing-slot` diagnostics
4337
+ * surface inline on the offending nodes.
4338
+ * @exampleComponent limebb-example-rule-editor
4339
+ * @alpha
4340
+ * @private
4341
+ */
4342
+ interface HTMLLimebbRuleEditorElement extends Components.LimebbRuleEditor, HTMLStencilElement {
4343
+ addEventListener<K extends keyof HTMLLimebbRuleEditorElementEventMap>(type: K, listener: (this: HTMLLimebbRuleEditorElement, ev: LimebbRuleEditorCustomEvent<HTMLLimebbRuleEditorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
4344
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
4345
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
4346
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
4347
+ removeEventListener<K extends keyof HTMLLimebbRuleEditorElementEventMap>(type: K, listener: (this: HTMLLimebbRuleEditorElement, ev: LimebbRuleEditorCustomEvent<HTMLLimebbRuleEditorElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
4348
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
4349
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
4350
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
4351
+ }
4352
+ var HTMLLimebbRuleEditorElement: {
4353
+ prototype: HTMLLimebbRuleEditorElement;
4354
+ new (): HTMLLimebbRuleEditorElement;
4355
+ };
4201
4356
  /**
4202
4357
  * Renders its slot only when the configured rule evaluates true.
4203
4358
  * Pass a {@link Rule} and the gate compiles it on load and on prop
@@ -4205,6 +4360,7 @@ declare global {
4205
4360
  * {@link RuleRegistry} platform service.
4206
4361
  * @exampleComponent limebb-example-rule-gate
4207
4362
  * @alpha
4363
+ * @private
4208
4364
  */
4209
4365
  interface HTMLLimebbRuleGateElement extends Components.LimebbRuleGate, HTMLStencilElement {
4210
4366
  }
@@ -4440,6 +4596,8 @@ declare global {
4440
4596
  "limebb-object-chip": HTMLLimebbObjectChipElement;
4441
4597
  "limebb-percentage-visualizer": HTMLLimebbPercentageVisualizerElement;
4442
4598
  "limebb-property-selector": HTMLLimebbPropertySelectorElement;
4599
+ "limebb-rule-chip-popover": HTMLLimebbRuleChipPopoverElement;
4600
+ "limebb-rule-editor": HTMLLimebbRuleEditorElement;
4443
4601
  "limebb-rule-gate": HTMLLimebbRuleGateElement;
4444
4602
  "limebb-summary-popover": HTMLLimebbSummaryPopoverElement;
4445
4603
  "limebb-text-editor": HTMLLimebbTextEditorElement;
@@ -6780,6 +6938,101 @@ declare namespace LocalJSX {
6780
6938
  */
6781
6939
  "value"?: string;
6782
6940
  }
6941
+ /**
6942
+ * Popover content for a rule-editor chip. Carries its own styles so
6943
+ * they travel with the element when `limel-popover` portals it out of
6944
+ * the rule-editor's shadow DOM.
6945
+ * @private
6946
+ */
6947
+ interface LimebbRuleChipPopover {
6948
+ "context"?: LimeWebComponentContext;
6949
+ /**
6950
+ * @default false
6951
+ */
6952
+ "disabled"?: boolean;
6953
+ /**
6954
+ * @default true
6955
+ */
6956
+ "isMutable"?: boolean;
6957
+ /**
6958
+ * @default false
6959
+ */
6960
+ "isNegated"?: boolean;
6961
+ "metadata"?: PrimitiveMetadata;
6962
+ "onDeleteChip"?: (event: LimebbRuleChipPopoverCustomEvent<void>) => void;
6963
+ "onNegate"?: (event: LimebbRuleChipPopoverCustomEvent<boolean>) => void;
6964
+ "onUpdateArgs"?: (event: LimebbRuleChipPopoverCustomEvent<JsonValue>) => void;
6965
+ "platform"?: LimeWebComponentPlatform;
6966
+ /**
6967
+ * @default false
6968
+ */
6969
+ "readonly"?: boolean;
6970
+ "refNode"?: RuleRef;
6971
+ }
6972
+ /**
6973
+ * Tree editor for {@link Rule}.
6974
+ * Renders a `Rule` value as a tree of nodes. Lets an author pick
6975
+ * primitive refs in `all` / `any` groups, toggle negation, delete
6976
+ * nodes, and edit per-primitive args via the editor declared on each
6977
+ * primitive's metadata.
6978
+ * The component is value-in / value-out. Pass `value` and listen for
6979
+ * `change`; persistence is the caller's concern.
6980
+ * Pass `availableSubjects` to forward the list of subject slots the
6981
+ * caller knows will be available where the rule runs. The component
6982
+ * forwards it to `RuleRegistry.validate` so `missing-slot` diagnostics
6983
+ * surface inline on the offending nodes.
6984
+ * @exampleComponent limebb-example-rule-editor
6985
+ * @alpha
6986
+ * @private
6987
+ */
6988
+ interface LimebbRuleEditor {
6989
+ /**
6990
+ * Subject slots the caller knows will be available where the rule runs. Forwarded to the rule registry's `validate` method so `missing-slot` issues surface inline. Leave unset when the evaluation context is not known (typical for editors that target the saved-rule library).
6991
+ */
6992
+ "availableSubjects"?: (keyof SubjectRegistry)[];
6993
+ /**
6994
+ * The context describing where this component is running. The context provides information about the current limetype and record ID (if viewing/editing a specific record). Components can use this to load relevant data and understand their operating environment.
6995
+ */
6996
+ "context"?: LimeWebComponentContext;
6997
+ /**
6998
+ * Whether or not the current property is disabled The mutation UI is hidden when set. The args editor is rendered with `disabled` forwarded to it.
6999
+ * @inheritdoc
7000
+ */
7001
+ "disabled"?: boolean;
7002
+ /**
7003
+ * The helper text for the current property
7004
+ * @inheritdoc
7005
+ */
7006
+ "helperText"?: string;
7007
+ /**
7008
+ * The label of the current property
7009
+ * @inheritdoc
7010
+ */
7011
+ "label"?: string;
7012
+ /**
7013
+ * Emitted when the rule tree is mutated. Detail is the new rule, or `undefined` when the user has cleared the editor to an empty root group — callers can persist `undefined` as "no rule" without having to inspect the rule shape themselves.
7014
+ */
7015
+ "onChange"?: (event: LimebbRuleEditorCustomEvent<Rule | undefined>) => void;
7016
+ /**
7017
+ * Reference to the platform service container. Use this to access all platform services like repositories, HTTP client, command bus, navigator, and more. The platform instance is shared across all components in the same application context.
7018
+ */
7019
+ "platform"?: LimeWebComponentPlatform;
7020
+ /**
7021
+ * Whether or not the current property is readonly The mutation UI (delete and negate toggles, add-group button) is hidden when set. The args editor for each ref is still rendered, with `readonly` forwarded to it.
7022
+ * @inheritdoc
7023
+ */
7024
+ "readonly"?: boolean;
7025
+ /**
7026
+ * Whether or not the current property is required
7027
+ * @inheritdoc
7028
+ */
7029
+ "required"?: boolean;
7030
+ /**
7031
+ * The value of the current property
7032
+ * @inheritdoc
7033
+ */
7034
+ "value"?: Rule | undefined;
7035
+ }
6783
7036
  /**
6784
7037
  * Renders its slot only when the configured rule evaluates true.
6785
7038
  * Pass a {@link Rule} and the gate compiles it on load and on prop
@@ -6787,13 +7040,14 @@ declare namespace LocalJSX {
6787
7040
  * {@link RuleRegistry} platform service.
6788
7041
  * @exampleComponent limebb-example-rule-gate
6789
7042
  * @alpha
7043
+ * @private
6790
7044
  */
6791
7045
  interface LimebbRuleGate {
6792
7046
  "platform"?: LimeWebComponentPlatform;
6793
7047
  /**
6794
- * The rule to evaluate.
7048
+ * The rule to evaluate. When unset, the gate renders its slot unconditionally — "no rule" means "no gating", which mirrors the editor's `Rule | undefined` emit contract.
6795
7049
  */
6796
- "rule"?: Rule;
7050
+ "rule"?: Rule | undefined;
6797
7051
  /**
6798
7052
  * Optional scope override. By default the gate resolves subject values by walking up the DOM to ancestors that registered providers with the rule registry. Pass an explicit scope to bypass that walk.
6799
7053
  */
@@ -7411,6 +7665,19 @@ declare namespace LocalJSX {
7411
7665
  "required": boolean;
7412
7666
  "helperText": string;
7413
7667
  }
7668
+ interface LimebbRuleChipPopoverAttributes {
7669
+ "isNegated": boolean;
7670
+ "readonly": boolean;
7671
+ "disabled": boolean;
7672
+ "isMutable": boolean;
7673
+ }
7674
+ interface LimebbRuleEditorAttributes {
7675
+ "required": boolean;
7676
+ "readonly": boolean;
7677
+ "disabled": boolean;
7678
+ "label": string;
7679
+ "helperText": string;
7680
+ }
7414
7681
  interface LimebbSummaryPopoverAttributes {
7415
7682
  "triggerDelay": number;
7416
7683
  "heading": string;
@@ -7513,6 +7780,8 @@ declare namespace LocalJSX {
7513
7780
  "limebb-object-chip": Omit<LimebbObjectChip, keyof LimebbObjectChipAttributes> & { [K in keyof LimebbObjectChip & keyof LimebbObjectChipAttributes]?: LimebbObjectChip[K] } & { [K in keyof LimebbObjectChip & keyof LimebbObjectChipAttributes as `attr:${K}`]?: LimebbObjectChipAttributes[K] } & { [K in keyof LimebbObjectChip & keyof LimebbObjectChipAttributes as `prop:${K}`]?: LimebbObjectChip[K] };
7514
7781
  "limebb-percentage-visualizer": Omit<LimebbPercentageVisualizer, keyof LimebbPercentageVisualizerAttributes> & { [K in keyof LimebbPercentageVisualizer & keyof LimebbPercentageVisualizerAttributes]?: LimebbPercentageVisualizer[K] } & { [K in keyof LimebbPercentageVisualizer & keyof LimebbPercentageVisualizerAttributes as `attr:${K}`]?: LimebbPercentageVisualizerAttributes[K] } & { [K in keyof LimebbPercentageVisualizer & keyof LimebbPercentageVisualizerAttributes as `prop:${K}`]?: LimebbPercentageVisualizer[K] };
7515
7782
  "limebb-property-selector": Omit<LimebbPropertySelector, keyof LimebbPropertySelectorAttributes> & { [K in keyof LimebbPropertySelector & keyof LimebbPropertySelectorAttributes]?: LimebbPropertySelector[K] } & { [K in keyof LimebbPropertySelector & keyof LimebbPropertySelectorAttributes as `attr:${K}`]?: LimebbPropertySelectorAttributes[K] } & { [K in keyof LimebbPropertySelector & keyof LimebbPropertySelectorAttributes as `prop:${K}`]?: LimebbPropertySelector[K] };
7783
+ "limebb-rule-chip-popover": Omit<LimebbRuleChipPopover, keyof LimebbRuleChipPopoverAttributes> & { [K in keyof LimebbRuleChipPopover & keyof LimebbRuleChipPopoverAttributes]?: LimebbRuleChipPopover[K] } & { [K in keyof LimebbRuleChipPopover & keyof LimebbRuleChipPopoverAttributes as `attr:${K}`]?: LimebbRuleChipPopoverAttributes[K] } & { [K in keyof LimebbRuleChipPopover & keyof LimebbRuleChipPopoverAttributes as `prop:${K}`]?: LimebbRuleChipPopover[K] };
7784
+ "limebb-rule-editor": Omit<LimebbRuleEditor, keyof LimebbRuleEditorAttributes> & { [K in keyof LimebbRuleEditor & keyof LimebbRuleEditorAttributes]?: LimebbRuleEditor[K] } & { [K in keyof LimebbRuleEditor & keyof LimebbRuleEditorAttributes as `attr:${K}`]?: LimebbRuleEditorAttributes[K] } & { [K in keyof LimebbRuleEditor & keyof LimebbRuleEditorAttributes as `prop:${K}`]?: LimebbRuleEditor[K] };
7516
7785
  "limebb-rule-gate": LimebbRuleGate;
7517
7786
  "limebb-summary-popover": Omit<LimebbSummaryPopover, keyof LimebbSummaryPopoverAttributes> & { [K in keyof LimebbSummaryPopover & keyof LimebbSummaryPopoverAttributes]?: LimebbSummaryPopover[K] } & { [K in keyof LimebbSummaryPopover & keyof LimebbSummaryPopoverAttributes as `attr:${K}`]?: LimebbSummaryPopoverAttributes[K] } & { [K in keyof LimebbSummaryPopover & keyof LimebbSummaryPopoverAttributes as `prop:${K}`]?: LimebbSummaryPopover[K] };
7518
7787
  "limebb-text-editor": Omit<LimebbTextEditor, keyof LimebbTextEditorAttributes> & { [K in keyof LimebbTextEditor & keyof LimebbTextEditorAttributes]?: LimebbTextEditor[K] } & { [K in keyof LimebbTextEditor & keyof LimebbTextEditorAttributes as `attr:${K}`]?: LimebbTextEditorAttributes[K] } & { [K in keyof LimebbTextEditor & keyof LimebbTextEditorAttributes as `prop:${K}`]?: LimebbTextEditor[K] };
@@ -8263,6 +8532,30 @@ declare module "@stencil/core" {
8263
8532
  * @private
8264
8533
  */
8265
8534
  "limebb-property-selector": LocalJSX.IntrinsicElements["limebb-property-selector"] & JSXBase.HTMLAttributes<HTMLLimebbPropertySelectorElement>;
8535
+ /**
8536
+ * Popover content for a rule-editor chip. Carries its own styles so
8537
+ * they travel with the element when `limel-popover` portals it out of
8538
+ * the rule-editor's shadow DOM.
8539
+ * @private
8540
+ */
8541
+ "limebb-rule-chip-popover": LocalJSX.IntrinsicElements["limebb-rule-chip-popover"] & JSXBase.HTMLAttributes<HTMLLimebbRuleChipPopoverElement>;
8542
+ /**
8543
+ * Tree editor for {@link Rule}.
8544
+ * Renders a `Rule` value as a tree of nodes. Lets an author pick
8545
+ * primitive refs in `all` / `any` groups, toggle negation, delete
8546
+ * nodes, and edit per-primitive args via the editor declared on each
8547
+ * primitive's metadata.
8548
+ * The component is value-in / value-out. Pass `value` and listen for
8549
+ * `change`; persistence is the caller's concern.
8550
+ * Pass `availableSubjects` to forward the list of subject slots the
8551
+ * caller knows will be available where the rule runs. The component
8552
+ * forwards it to `RuleRegistry.validate` so `missing-slot` diagnostics
8553
+ * surface inline on the offending nodes.
8554
+ * @exampleComponent limebb-example-rule-editor
8555
+ * @alpha
8556
+ * @private
8557
+ */
8558
+ "limebb-rule-editor": LocalJSX.IntrinsicElements["limebb-rule-editor"] & JSXBase.HTMLAttributes<HTMLLimebbRuleEditorElement>;
8266
8559
  /**
8267
8560
  * Renders its slot only when the configured rule evaluates true.
8268
8561
  * Pass a {@link Rule} and the gate compiles it on load and on prop
@@ -8270,6 +8563,7 @@ declare module "@stencil/core" {
8270
8563
  * {@link RuleRegistry} platform service.
8271
8564
  * @exampleComponent limebb-example-rule-gate
8272
8565
  * @alpha
8566
+ * @private
8273
8567
  */
8274
8568
  "limebb-rule-gate": LocalJSX.IntrinsicElements["limebb-rule-gate"] & JSXBase.HTMLAttributes<HTMLLimebbRuleGateElement>;
8275
8569
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limetech/lime-crm-building-blocks",
3
- "version": "1.125.0",
3
+ "version": "1.126.0",
4
4
  "description": "A home for shared components meant for use with Lime CRM",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -35,11 +35,11 @@
35
35
  },
36
36
  "devDependencies": {
37
37
  "@limetech/eslint-config": "^4.0.1",
38
- "@limetech/lime-elements": "^39.24.0",
39
- "@limetech/lime-web-components": "^6.16.0",
38
+ "@limetech/lime-elements": "^39.24.2",
39
+ "@limetech/lime-web-components": "^6.17.0",
40
40
  "@limetech/lime-web-components-testing": "^1.0.0",
41
41
  "@lundalogik/lime-icons8": "^2.40.1",
42
- "@lundalogik/limeclient.js": "^1.90.0",
42
+ "@lundalogik/limeclient.js": "^1.93.0",
43
43
  "@stencil/core": "^4.43.4",
44
44
  "@stencil/sass": "^3.1.9",
45
45
  "@types/jest": "^29.5.14",
@@ -1 +0,0 @@
1
- import{r as t,h as e,H as s,g as o}from"./p-BIwHMk6j.js";import{n as i}from"./p-BeLcuSg8.js";const n=class{constructor(e){t(this,e),this.shouldRender=!1}componentWillLoad(){this.compileAndEvaluate()}onRuleChange(){this.compileAndEvaluate()}onScopeChange(){this.compileAndEvaluate()}render(){return e(s,{key:"987da88562f3cfe1c5b0599d3aa73795bcbd317d",hidden:!this.shouldRender},e("slot",{key:"3af4b067ebb51007c525719614cce800c018aeb6"}))}get ruleRegistry(){return this.platform.get(i.RuleRegistry)}compileAndEvaluate(){var t;const e=this.ruleRegistry.compile(this.rule),s=null!==(t=this.scope)&&void 0!==t?t:this.ruleRegistry.scope({host:this.host});this.shouldRender=e(s)}get host(){return o(this)}static get watchers(){return{rule:[{onRuleChange:0}],scope:[{onScopeChange:0}]}}};n.style=":host{display:contents}:host([hidden]){display:none}";export{n as limebb_rule_gate}
@@ -1 +0,0 @@
1
- import{h as t,r as o,c as e}from"./p-BIwHMk6j.js";import{n as i}from"./p-BeLcuSg8.js";import{g as n}from"./p-BsH0YW6Z.js";import"./p-BgAfMcRA.js";import"./p-6PYziigk.js";const r=(o,e)=>t(o.name,Object.assign({class:o.class},function(t){let o={};return t.props&&(o=Object.assign({},t.props)),Object.assign({context:t.context,platform:t.platform},o)}(o),{key:o.key}),e),s=class{constructor(t){o(this,t),this.change=e(this,"change"),this.value={},this.type="component",this.configViewType="code",this.findConfigComponent=t=>{var o,e;return"component"===this.type?null===(o=this.registry.getAll().find((o=>o.name===t)))||void 0===o?void 0:o.configComponent:"command"===this.type?null===(e=this.commandbus.getAll().find((o=>o.id===t)))||void 0===e?void 0:e.configComponent:void 0},this.handleChangeMode=t=>{t.stopPropagation(),this.configViewType=t.detail.id},this.handleCodeEditorChange=t=>{t.stopPropagation();try{const o=JSON.parse(t.detail);this.change.emit(o)}catch(t){}}}componentWillLoad(){this.configComponent=this.getComponentName()}componentShouldUpdate(t,o,e){return"formInfo"!==e}watchFormInfo(){this.configComponent=this.getComponentName()}watchconfigComponent(t,o){t&&!o&&(this.configViewType="config"),t||(this.configViewType="code")}getComponentName(){var t,o,e;const i=[...null!==(o=null===(t=this.formInfo)||void 0===t?void 0:t.schemaPath.slice(0,-1))&&void 0!==o?o:[],this.getNameField()],r=n(null===(e=this.formInfo)||void 0===e?void 0:e.rootValue,i),s=this.findConfigComponent(r);if(s&&customElements.get(s.name))return s}render(){return[this.renderHeader(),this.renderContent()]}renderHeader(){let o=[];return this.configComponent&&(o=[{id:"config",title:"Config",selected:"config"===this.configViewType},{id:"code",title:"Code",selected:"code"===this.configViewType}]),t("limel-header",{icon:"edit_property",heading:this.label,subheading:this.helperText},t("limel-button-group",{slot:"actions",value:o,onChange:this.handleChangeMode}))}renderContent(){return"config"===this.configViewType?this.renderConfigComponent():this.renderCodeEditor()}renderCodeEditor(){return t("limel-code-editor",{value:JSON.stringify(this.value,null,"\t"),language:"json",readonly:this.readonly,lineNumbers:!0,fold:!0,lint:!0,onChange:this.handleCodeEditorChange})}renderConfigComponent(){var o,e;return t(r,{class:"config-component",platform:this.platform,context:this.context,name:null===(o=this.configComponent)||void 0===o?void 0:o.name,props:Object.assign(Object.assign({},null===(e=this.configComponent)||void 0===e?void 0:e.props),{value:this.value,required:this.required,readonly:this.readonly,disabled:this.disabled,label:this.label,helperText:this.helperText,formInfo:this.formInfo})})}getNameField(){return this.nameField?this.nameField:{component:"name",command:"id"}[this.type]}get registry(){return this.platform.get(i.WebComponentRegistry)}get commandbus(){return this.platform.get(i.CommandBus)}static get watchers(){return{formInfo:[{watchFormInfo:0}],configComponent:[{watchconfigComponent:0}]}}};s.style=":host(*){--header-background-color:rgb(var(--contrast-600));display:flex;flex-direction:column;border:1px dashed rgb(var(--contrast-700));overflow:clip;border-radius:0.75rem;background-color:rgb(var(--contrast-500))}*{box-sizing:border-box}.label{margin-top:1rem;margin-bottom:1rem}.config-component{display:grid;column-gap:1rem;row-gap:1rem;margin:1rem;grid-template-columns:repeat(3, minmax(0, 1fr))}";export{s as limebb_component_config}
@@ -1 +0,0 @@
1
- import{r as e,c as t,h as i}from"./p-BIwHMk6j.js";import{n as l}from"./p-BeLcuSg8.js";const n=[{trigger:"rich-text",icon:"font_style_formatting",translationKey:"webclient.composer-toolbar.rich-text"},{trigger:"mention",icon:"email_sign_92447",translationKey:"webclient.composer-toolbar.mention",helperLabel:"@"},{trigger:"text-snippet",icon:"rich_text_converter",translationKey:"webclient.composer-toolbar.text-snippet",helperLabel:"!"},{trigger:"internal-link",icon:"hashtag_large",translationKey:"webclient.composer-toolbar.internal-link",helperLabel:"#"}],o=class{constructor(i){e(this,i),this.triggerInsert=t(this,"triggerInsert"),this.filesSelected=t(this,"filesSelected"),this.mentions=!1,this.textSnippets=!1,this.internalLinks=!1,this.richText=!1,this.handleTriggerSelected=e=>{e.stopPropagation(),this.triggerInsert.emit(e.detail.value)},this.handleFilesSelected=e=>{e.stopPropagation(),this.filesSelected.emit(e.detail)}}render(){return[i("div",{key:"93f11de20919ea5911914796067ea28d12979f1c",class:"actions"},i("slot",{key:"6ca4a71f02438859e503b79f689353d4ac4899d2",name:"leading"}),this.renderFileInput(),this.renderTriggerActions(),i("slot",{key:"05a29bae85924a0a9a249e9730203f444d1dc4c3",name:"trailing"})),i("slot",{key:"9e55ce6f1261db1cc46f6de733e15ef101aa8661",name:"primary-action"})]}get translator(){var e;return null===(e=this.platform)||void 0===e?void 0:e.get(l.Translate)}get triggerActions(){const e={mention:this.mentions,"text-snippet":this.textSnippets,"internal-link":this.internalLinks,"rich-text":this.richText};return n.filter((t=>e[t.trigger])).map((e=>{var t,i;return{text:null!==(i=null===(t=this.translator)||void 0===t?void 0:t.get(e.translationKey))&&void 0!==i?i:e.trigger,commandText:e.helperLabel,icon:e.icon,iconOnly:!0,value:e.trigger}}))}renderTriggerActions(){const e=this.triggerActions;if(0!==e.length)return i("limel-action-bar",{actions:e,onItemSelected:this.handleTriggerSelected})}renderFileInput(){var e,t,l,n,o,r;if(this.fileInput)return i("limel-file-input",{accept:null!==(e=this.fileInput.accept)&&void 0!==e?e:"*",multiple:null!==(t=this.fileInput.multiple)&&void 0!==t&&t,disabled:null!==(l=this.fileInput.disabled)&&void 0!==l&&l,onFilesSelected:this.handleFilesSelected},i("limel-icon-button",{icon:"attach",disabled:null!==(n=this.fileInput.disabled)&&void 0!==n&&n,label:null===(o=this.translator)||void 0===o?void 0:o.get("webclient.attach-files"),helperLabel:null===(r=this.translator)||void 0===r?void 0:r.get("webclient.attach-files-helper")}))}};o.style="*{box-sizing:border-box;min-width:0}:host(limebb-composer-toolbar){box-sizing:border-box;display:flex;align-items:center;width:100%;max-width:100%;gap:0.5rem}.actions{display:flex;align-items:center;flex-wrap:nowrap;flex-grow:1}limel-icon-button,::slotted(limel-icon-button){display:inline-block;scale:0.86}limel-file-input{flex-shrink:0}";export{o as limebb_composer_toolbar}