@limetech/lime-crm-building-blocks 1.124.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 (264) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/color-palettes-BWuwMtwv.js +334 -0
  3. package/dist/cjs/index.cjs.js +5 -0
  4. package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
  5. package/dist/cjs/limebb-alert-dialog.cjs.entry.js +1 -1
  6. package/dist/cjs/limebb-browser.cjs.entry.js +2 -2
  7. package/dist/cjs/limebb-chat-icon-list_3.cjs.entry.js +4 -4
  8. package/dist/cjs/limebb-chat-list.cjs.entry.js +1 -1
  9. package/dist/cjs/limebb-color-palette-picker.cjs.entry.js +85 -0
  10. package/dist/cjs/limebb-color-palette-swatches.cjs.entry.js +21 -0
  11. package/dist/cjs/limebb-component-config.cjs.entry.js +2 -14
  12. package/dist/cjs/limebb-composer-toolbar.cjs.entry.js +3 -3
  13. package/dist/cjs/limebb-currency-picker.cjs.entry.js +1 -1
  14. package/dist/cjs/limebb-dashboard-widget.cjs.entry.js +1 -1
  15. package/dist/cjs/limebb-date-picker.cjs.entry.js +1 -1
  16. package/dist/cjs/limebb-date-range.cjs.entry.js +1 -1
  17. package/dist/cjs/limebb-document-chips.cjs.entry.js +1 -1
  18. package/dist/cjs/limebb-document-item.cjs.entry.js +2 -2
  19. package/dist/cjs/limebb-document-picker.cjs.entry.js +1 -1
  20. package/dist/cjs/limebb-feed-item-thumbnail-file-info.cjs.entry.js +1 -1
  21. package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +1 -1
  22. package/dist/cjs/limebb-feed.cjs.entry.js +1 -1
  23. package/dist/cjs/limebb-icon-picker.cjs.entry.js +1 -1
  24. package/dist/cjs/limebb-info-tile-format.cjs.entry.js +1 -1
  25. package/dist/cjs/limebb-info-tile.cjs.entry.js +1 -1
  26. package/dist/cjs/limebb-kanban-group.cjs.entry.js +1 -1
  27. package/dist/cjs/limebb-kanban-item.cjs.entry.js +1 -1
  28. package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +1 -1
  29. package/dist/cjs/limebb-lime-query-filter-builder_3.cjs.entry.js +2 -2
  30. package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +1 -1
  31. package/dist/cjs/limebb-lime-query-filter-group_3.cjs.entry.js +3 -3
  32. package/dist/cjs/limebb-lime-query-order-by-item.cjs.entry.js +2 -2
  33. package/dist/cjs/limebb-lime-query-response-format-builder.cjs.entry.js +1 -1
  34. package/dist/cjs/limebb-lime-query-response-format-editor_2.cjs.entry.js +1 -1
  35. package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
  36. package/dist/cjs/limebb-locale-picker.cjs.entry.js +1 -1
  37. package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
  38. package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +2 -2
  39. package/dist/cjs/limebb-notification-item.cjs.entry.js +1 -1
  40. package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +2 -2
  41. package/dist/cjs/limebb-rule-chip-popover.cjs.entry.js +59 -0
  42. package/dist/cjs/limebb-rule-editor.cjs.entry.js +646 -0
  43. package/dist/cjs/limebb-rule-gate.cjs.entry.js +5 -1
  44. package/dist/cjs/limebb-text-editor.cjs.entry.js +1 -1
  45. package/dist/cjs/limebb-trend-indicator.cjs.entry.js +1 -1
  46. package/dist/cjs/loader.cjs.js +1 -1
  47. package/dist/cjs/web-component-template-BWCutZB6.js +18 -0
  48. package/dist/collection/collection-manifest.json +4 -0
  49. package/dist/collection/components/alert-dialog/alert-dialog.js +1 -1
  50. package/dist/collection/components/browser/browser.js +2 -2
  51. package/dist/collection/components/chat-list/chat-icon-list/chat-icon-list.js +1 -1
  52. package/dist/collection/components/chat-list/chat-item/chat-item.js +2 -2
  53. package/dist/collection/components/chat-list/chat-list.js +1 -1
  54. package/dist/collection/components/chat-list/typing-indicator/typing-indicator.js +1 -1
  55. package/dist/collection/components/color-palette-picker/color-palette-picker.css +5 -0
  56. package/dist/collection/components/color-palette-picker/color-palette-picker.js +295 -0
  57. package/dist/collection/components/color-palette-picker/color-palette-swatches/color-palette-swatches.css +28 -0
  58. package/dist/collection/components/color-palette-picker/color-palette-swatches/color-palette-swatches.js +61 -0
  59. package/dist/collection/components/composer-toolbar/composer-toolbar.js +3 -3
  60. package/dist/collection/components/currency-picker/currency-picker.js +1 -1
  61. package/dist/collection/components/dashboard-widget/dashboard-widget.js +1 -1
  62. package/dist/collection/components/date-picker/date-picker.js +1 -1
  63. package/dist/collection/components/date-range/date-range.js +1 -1
  64. package/dist/collection/components/document-chips/document-chips.js +1 -1
  65. package/dist/collection/components/document-picker/document-item/document-item.js +2 -2
  66. package/dist/collection/components/document-picker/document-picker.js +1 -1
  67. package/dist/collection/components/feed/feed-item/feed-timeline-item.js +1 -1
  68. package/dist/collection/components/feed/feed-item-thumbnail-file-info/feed-item-thumbnail-file-info.js +1 -1
  69. package/dist/collection/components/feed/feed.js +1 -1
  70. package/dist/collection/components/icon-picker/icon-picker.js +1 -1
  71. package/dist/collection/components/info-tile/format/config/info-tile-format.js +1 -1
  72. package/dist/collection/components/info-tile/info-tile.js +1 -1
  73. package/dist/collection/components/kanban/kanban-group/kanban-group.js +1 -1
  74. package/dist/collection/components/kanban/kanban-item/kanban-item.js +1 -1
  75. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +1 -1
  76. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js +2 -2
  77. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +1 -1
  78. package/dist/collection/components/lime-query-builder/lime-query-builder.js +1 -1
  79. package/dist/collection/components/lime-query-builder/lime-query-response-format-builder.js +1 -1
  80. package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +1 -1
  81. package/dist/collection/components/lime-query-builder/order-by/order-by-editor.js +1 -1
  82. package/dist/collection/components/lime-query-builder/order-by/order-by-item.js +2 -2
  83. package/dist/collection/components/lime-query-builder/response-format/response-format-item.js +1 -1
  84. package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
  85. package/dist/collection/components/locale-picker/locale-picker.js +1 -1
  86. package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
  87. package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
  88. package/dist/collection/components/rule-editor/chip-picker-view.js +141 -0
  89. package/dist/collection/components/rule-editor/group-node-view.js +79 -0
  90. package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.css +36 -0
  91. package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.js +301 -0
  92. package/dist/collection/components/rule-editor/rule-editor-views.js +43 -0
  93. package/dist/collection/components/rule-editor/rule-editor.css +96 -0
  94. package/dist/collection/components/rule-editor/rule-editor.js +457 -0
  95. package/dist/collection/components/rule-editor/rule-operations.js +132 -0
  96. package/dist/collection/components/rule-editor/view-helpers.js +70 -0
  97. package/dist/collection/components/rule-gate/rule-gate.js +9 -4
  98. package/dist/collection/components/summary-popover/summary-popover.js +2 -2
  99. package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
  100. package/dist/collection/components/text-editor/text-editor.js +1 -1
  101. package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
  102. package/dist/collection/index.js +1 -0
  103. package/dist/collection/util/color-palettes.js +329 -0
  104. package/dist/components/chat-icon-list.js +1 -1
  105. package/dist/components/chat-item.js +1 -1
  106. package/dist/components/color-palettes.js +1 -0
  107. package/dist/components/currency-picker.js +1 -1
  108. package/dist/components/date-picker.js +1 -1
  109. package/dist/components/document-item.js +1 -1
  110. package/dist/components/feed-item-thumbnail-file-info.js +1 -1
  111. package/dist/components/feed-timeline-item.js +1 -1
  112. package/dist/components/index.js +1 -1
  113. package/dist/components/kanban-group.js +1 -1
  114. package/dist/components/kanban-item.js +1 -1
  115. package/dist/components/lime-query-filter-comparison.js +1 -1
  116. package/dist/components/lime-query-filter-expression.js +1 -1
  117. package/dist/components/limebb-alert-dialog.js +1 -1
  118. package/dist/components/limebb-browser.js +1 -1
  119. package/dist/components/limebb-chat-list.js +1 -1
  120. package/dist/components/limebb-color-palette-picker.d.ts +11 -0
  121. package/dist/components/limebb-color-palette-picker.js +1 -0
  122. package/dist/components/limebb-color-palette-swatches.d.ts +11 -0
  123. package/dist/components/limebb-color-palette-swatches.js +1 -0
  124. package/dist/components/limebb-component-config.js +1 -1
  125. package/dist/components/limebb-composer-toolbar.js +1 -1
  126. package/dist/components/limebb-dashboard-widget.js +1 -1
  127. package/dist/components/limebb-date-range.js +1 -1
  128. package/dist/components/limebb-document-chips.js +1 -1
  129. package/dist/components/limebb-document-picker.js +1 -1
  130. package/dist/components/limebb-feed.js +1 -1
  131. package/dist/components/limebb-icon-picker.js +1 -1
  132. package/dist/components/limebb-info-tile-format.js +1 -1
  133. package/dist/components/limebb-info-tile.js +1 -1
  134. package/dist/components/limebb-lime-query-builder.js +1 -1
  135. package/dist/components/limebb-lime-query-response-format-builder.js +1 -1
  136. package/dist/components/limebb-locale-picker.js +1 -1
  137. package/dist/components/limebb-mention-group-counter.js +1 -1
  138. package/dist/components/limebb-rule-chip-popover.d.ts +11 -0
  139. package/dist/components/limebb-rule-chip-popover.js +1 -0
  140. package/dist/components/limebb-rule-editor.d.ts +11 -0
  141. package/dist/components/limebb-rule-editor.js +1 -0
  142. package/dist/components/limebb-rule-gate.js +1 -1
  143. package/dist/components/limebb-text-editor.js +1 -1
  144. package/dist/components/limebb-trend-indicator.js +1 -1
  145. package/dist/components/limetype-field.js +1 -1
  146. package/dist/components/live-docs-info.js +1 -1
  147. package/dist/components/notification-item.js +1 -1
  148. package/dist/components/order-by-editor.js +1 -1
  149. package/dist/components/order-by-item.js +1 -1
  150. package/dist/components/percentage-visualizer.js +1 -1
  151. package/dist/components/response-format-item.js +1 -1
  152. package/dist/components/rule-chip-popover.js +1 -0
  153. package/dist/components/summary-popover.js +1 -1
  154. package/dist/components/typing-indicator.js +1 -1
  155. package/dist/components/web-component-template.js +1 -0
  156. package/dist/esm/color-palettes-1N3bZuHj.js +331 -0
  157. package/dist/esm/index.js +1 -0
  158. package/dist/esm/lime-crm-building-blocks.js +1 -1
  159. package/dist/esm/limebb-alert-dialog.entry.js +1 -1
  160. package/dist/esm/limebb-browser.entry.js +2 -2
  161. package/dist/esm/limebb-chat-icon-list_3.entry.js +4 -4
  162. package/dist/esm/limebb-chat-list.entry.js +1 -1
  163. package/dist/esm/limebb-color-palette-picker.entry.js +83 -0
  164. package/dist/esm/limebb-color-palette-swatches.entry.js +19 -0
  165. package/dist/esm/limebb-component-config.entry.js +2 -14
  166. package/dist/esm/limebb-composer-toolbar.entry.js +3 -3
  167. package/dist/esm/limebb-currency-picker.entry.js +1 -1
  168. package/dist/esm/limebb-dashboard-widget.entry.js +1 -1
  169. package/dist/esm/limebb-date-picker.entry.js +1 -1
  170. package/dist/esm/limebb-date-range.entry.js +1 -1
  171. package/dist/esm/limebb-document-chips.entry.js +1 -1
  172. package/dist/esm/limebb-document-item.entry.js +2 -2
  173. package/dist/esm/limebb-document-picker.entry.js +1 -1
  174. package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
  175. package/dist/esm/limebb-feed-timeline-item.entry.js +1 -1
  176. package/dist/esm/limebb-feed.entry.js +1 -1
  177. package/dist/esm/limebb-icon-picker.entry.js +1 -1
  178. package/dist/esm/limebb-info-tile-format.entry.js +1 -1
  179. package/dist/esm/limebb-info-tile.entry.js +1 -1
  180. package/dist/esm/limebb-kanban-group.entry.js +1 -1
  181. package/dist/esm/limebb-kanban-item.entry.js +1 -1
  182. package/dist/esm/limebb-lime-query-builder.entry.js +1 -1
  183. package/dist/esm/limebb-lime-query-filter-builder_3.entry.js +2 -2
  184. package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +1 -1
  185. package/dist/esm/limebb-lime-query-filter-group_3.entry.js +3 -3
  186. package/dist/esm/limebb-lime-query-order-by-item.entry.js +2 -2
  187. package/dist/esm/limebb-lime-query-response-format-builder.entry.js +1 -1
  188. package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +1 -1
  189. package/dist/esm/limebb-live-docs-info.entry.js +2 -2
  190. package/dist/esm/limebb-locale-picker.entry.js +1 -1
  191. package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
  192. package/dist/esm/limebb-navigation-button_2.entry.js +2 -2
  193. package/dist/esm/limebb-notification-item.entry.js +1 -1
  194. package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
  195. package/dist/esm/limebb-rule-chip-popover.entry.js +57 -0
  196. package/dist/esm/limebb-rule-editor.entry.js +644 -0
  197. package/dist/esm/limebb-rule-gate.entry.js +5 -1
  198. package/dist/esm/limebb-text-editor.entry.js +1 -1
  199. package/dist/esm/limebb-trend-indicator.entry.js +1 -1
  200. package/dist/esm/loader.js +1 -1
  201. package/dist/esm/web-component-template-6zRYia86.js +16 -0
  202. package/dist/lime-crm-building-blocks/index.esm.js +1 -1
  203. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  204. package/dist/lime-crm-building-blocks/{p-e8425a2c.entry.js → p-057e1638.entry.js} +1 -1
  205. package/dist/lime-crm-building-blocks/{p-0f2d1ea7.entry.js → p-0c572fe9.entry.js} +1 -1
  206. package/dist/lime-crm-building-blocks/{p-f0a5076c.entry.js → p-11494f30.entry.js} +1 -1
  207. package/dist/lime-crm-building-blocks/p-1747221f.entry.js +1 -0
  208. package/dist/lime-crm-building-blocks/p-1831e571.entry.js +1 -0
  209. package/dist/lime-crm-building-blocks/{p-8f8108c1.entry.js → p-184ae23d.entry.js} +1 -1
  210. package/dist/lime-crm-building-blocks/p-1N3bZuHj.js +1 -0
  211. package/dist/lime-crm-building-blocks/{p-4f042496.entry.js → p-20206710.entry.js} +1 -1
  212. package/dist/lime-crm-building-blocks/{p-529dbe46.entry.js → p-24fc049c.entry.js} +1 -1
  213. package/dist/lime-crm-building-blocks/{p-e3e2852a.entry.js → p-277b6ad4.entry.js} +1 -1
  214. package/dist/lime-crm-building-blocks/{p-e4ff2906.entry.js → p-2cb31064.entry.js} +1 -1
  215. package/dist/lime-crm-building-blocks/{p-2caf01c8.entry.js → p-3313e357.entry.js} +1 -1
  216. package/dist/lime-crm-building-blocks/{p-ad27bd5d.entry.js → p-3781a766.entry.js} +1 -1
  217. package/dist/lime-crm-building-blocks/{p-85caaf36.entry.js → p-43a7facd.entry.js} +1 -1
  218. package/dist/lime-crm-building-blocks/{p-5f97c392.entry.js → p-6cceabf1.entry.js} +1 -1
  219. package/dist/lime-crm-building-blocks/{p-67326d92.entry.js → p-6d3a9ed3.entry.js} +1 -1
  220. package/dist/lime-crm-building-blocks/{p-09c63bce.entry.js → p-71a6f624.entry.js} +1 -1
  221. package/dist/lime-crm-building-blocks/{p-25c4e389.entry.js → p-731820f0.entry.js} +1 -1
  222. package/dist/lime-crm-building-blocks/p-74455a30.entry.js +1 -0
  223. package/dist/lime-crm-building-blocks/p-7922726c.entry.js +1 -0
  224. package/dist/lime-crm-building-blocks/{p-9214b92e.entry.js → p-7a125570.entry.js} +1 -1
  225. package/dist/lime-crm-building-blocks/{p-dd07a1ac.entry.js → p-7d51a34c.entry.js} +1 -1
  226. package/dist/lime-crm-building-blocks/{p-287780c1.entry.js → p-7fee7ef3.entry.js} +1 -1
  227. package/dist/lime-crm-building-blocks/{p-27798ace.entry.js → p-8084e825.entry.js} +1 -1
  228. package/dist/lime-crm-building-blocks/p-861ac606.entry.js +1 -0
  229. package/dist/lime-crm-building-blocks/{p-fcedbc77.entry.js → p-8d3fa274.entry.js} +1 -1
  230. package/dist/lime-crm-building-blocks/{p-b0567904.entry.js → p-9f7992b0.entry.js} +1 -1
  231. package/dist/lime-crm-building-blocks/p-C_tMNOSt.js +1 -0
  232. package/dist/lime-crm-building-blocks/{p-bb5d40b1.entry.js → p-abcb1e49.entry.js} +1 -1
  233. package/dist/lime-crm-building-blocks/{p-f7114acb.entry.js → p-b1a8d1a0.entry.js} +1 -1
  234. package/dist/lime-crm-building-blocks/p-b8d9ff68.entry.js +1 -0
  235. package/dist/lime-crm-building-blocks/{p-52bddb06.entry.js → p-bec4231f.entry.js} +1 -1
  236. package/dist/lime-crm-building-blocks/{p-5fa5e7f4.entry.js → p-c139ab98.entry.js} +1 -1
  237. package/dist/lime-crm-building-blocks/{p-774cd93c.entry.js → p-c4f41ec4.entry.js} +1 -1
  238. package/dist/lime-crm-building-blocks/{p-4b275818.entry.js → p-c609b5ec.entry.js} +1 -1
  239. package/dist/lime-crm-building-blocks/{p-6a05192a.entry.js → p-c6a913af.entry.js} +1 -1
  240. package/dist/lime-crm-building-blocks/p-dd38e0ba.entry.js +1 -0
  241. package/dist/lime-crm-building-blocks/{p-6cb2d9dd.entry.js → p-de6f4670.entry.js} +1 -1
  242. package/dist/lime-crm-building-blocks/{p-0cbe7498.entry.js → p-e6ed33ff.entry.js} +1 -1
  243. package/dist/lime-crm-building-blocks/p-e717bdff.entry.js +1 -0
  244. package/dist/lime-crm-building-blocks/{p-9d56503d.entry.js → p-ef62c7d8.entry.js} +1 -1
  245. package/dist/lime-crm-building-blocks/{p-9a42ae42.entry.js → p-f0a567f3.entry.js} +1 -1
  246. package/dist/lime-crm-building-blocks/{p-b07b3ae3.entry.js → p-fd6dcfe3.entry.js} +1 -1
  247. package/dist/types/components/color-palette-picker/color-palette-picker.d.ts +89 -0
  248. package/dist/types/components/color-palette-picker/color-palette-swatches/color-palette-swatches.d.ts +23 -0
  249. package/dist/types/components/rule-editor/chip-picker-view.d.ts +27 -0
  250. package/dist/types/components/rule-editor/group-node-view.d.ts +11 -0
  251. package/dist/types/components/rule-editor/rule-chip-popover/rule-chip-popover.d.ts +31 -0
  252. package/dist/types/components/rule-editor/rule-editor-views.d.ts +51 -0
  253. package/dist/types/components/rule-editor/rule-editor.d.ts +118 -0
  254. package/dist/types/components/rule-editor/rule-operations.d.ts +62 -0
  255. package/dist/types/components/rule-editor/view-helpers.d.ts +40 -0
  256. package/dist/types/components/rule-gate/rule-gate.d.ts +5 -2
  257. package/dist/types/components.d.ts +588 -6
  258. package/dist/types/index.d.ts +1 -0
  259. package/dist/types/util/color-palettes.d.ts +67 -0
  260. package/package.json +4 -4
  261. package/dist/lime-crm-building-blocks/p-51ab9d60.entry.js +0 -1
  262. package/dist/lime-crm-building-blocks/p-628ce56b.entry.js +0 -1
  263. package/dist/lime-crm-building-blocks/p-6318fd46.entry.js +0 -1
  264. package/dist/lime-crm-building-blocks/p-c6caa3f9.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";
@@ -243,6 +243,88 @@ export namespace Components {
243
243
  */
244
244
  "platform": LimeWebComponentPlatform;
245
245
  }
246
+ /**
247
+ * Picks a color palette from the built-in color-palettes registry,
248
+ * and shows the palette's swatches alongside its title — both in
249
+ * the dropdown row and in the selected trigger area.
250
+ * ### When to use this picker
251
+ * Use it when a Lime CRM widget needs the admin to choose a set of
252
+ * colors purely for **visual differentiation** between items in a
253
+ * list. The picker's contract is "give every item a distinct, nicely
254
+ * harmonized color"; it does **not** assume any item-to-color
255
+ * mapping is meaningful. Concrete examples:
256
+ * - bars / slices in a chart widget
257
+ * - swimlanes in a kanban view
258
+ * - event categories in a calendar
259
+ * - tag chips on a list view
260
+ * ### When **not** to use it
261
+ * Don't use this picker when colors carry semantic meaning that
262
+ * end users must learn and rely on — e.g. _red = high priority_,
263
+ * _green = healthy_, _yellow = pending_. The palette's color order
264
+ * and contents may evolve over time (designers tweaking shades,
265
+ * appending new colors, retiring duplicates), so item-to-color
266
+ * mappings are intentionally **not** stable across releases. For
267
+ * status / priority / severity surfaces, encode meaning at the
268
+ * value level (icons, badges, labels) rather than color alone.
269
+ * @exampleComponent limebb-example-color-palette-picker
270
+ * @beta
271
+ */
272
+ interface LimebbColorPalettePicker {
273
+ /**
274
+ * Whether or not the current property is disabled
275
+ * @inheritdoc
276
+ */
277
+ "disabled": boolean;
278
+ /**
279
+ * The helper text for the current property
280
+ * @inheritdoc
281
+ */
282
+ "helperText": string;
283
+ /**
284
+ * @inheritdoc
285
+ */
286
+ "invalid": boolean;
287
+ /**
288
+ * The label of the current property
289
+ * @inheritdoc
290
+ */
291
+ "label": string;
292
+ /**
293
+ * Whether or not the current property is readonly
294
+ * @inheritdoc
295
+ */
296
+ "readonly": boolean;
297
+ /**
298
+ * Whether or not the current property is required
299
+ * @inheritdoc
300
+ */
301
+ "required": boolean;
302
+ /**
303
+ * The value of the current property
304
+ * @inheritdoc
305
+ */
306
+ "value": string;
307
+ }
308
+ /**
309
+ * Renders a small grid of color swatches for a palette. Used as the
310
+ * inline preview inside [limebb-color-palette-picker](..) — both in
311
+ * the trigger (the currently chosen palette) and in each row of its
312
+ * dropdown list (so users can see the colors before picking). Pass
313
+ * any CSS color strings (`rgb(var(--…))`, hex, etc.).
314
+ * The swatches are purely decorative — they carry no semantic
315
+ * information beyond what the surrounding context (e.g. the picker
316
+ * option's text and secondary text) already provides. The component
317
+ * marks itself `aria-hidden` so assistive tech skips it cleanly.
318
+ * @exampleComponent limebb-example-color-palette-swatches
319
+ * @private
320
+ */
321
+ interface LimebbColorPaletteSwatches {
322
+ /**
323
+ * Ordered list of CSS color values to render as swatches.
324
+ * @default []
325
+ */
326
+ "colors": string[];
327
+ }
246
328
  /**
247
329
  * This component must be used in a limel-form
248
330
  * where the Command ID OR component name exists in the same section as the config.
@@ -2117,6 +2199,94 @@ export namespace Components {
2117
2199
  */
2118
2200
  "value": string;
2119
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
+ }
2120
2290
  /**
2121
2291
  * Renders its slot only when the configured rule evaluates true.
2122
2292
  * Pass a {@link Rule} and the gate compiles it on load and on prop
@@ -2124,13 +2294,14 @@ export namespace Components {
2124
2294
  * {@link RuleRegistry} platform service.
2125
2295
  * @exampleComponent limebb-example-rule-gate
2126
2296
  * @alpha
2297
+ * @private
2127
2298
  */
2128
2299
  interface LimebbRuleGate {
2129
2300
  "platform": LimeWebComponentPlatform;
2130
2301
  /**
2131
- * 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.
2132
2303
  */
2133
- "rule": Rule;
2304
+ "rule": Rule | undefined;
2134
2305
  /**
2135
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.
2136
2307
  */
@@ -2463,6 +2634,10 @@ export interface LimebbBrowserCustomEvent<T> extends CustomEvent<T> {
2463
2634
  detail: T;
2464
2635
  target: HTMLLimebbBrowserElement;
2465
2636
  }
2637
+ export interface LimebbColorPalettePickerCustomEvent<T> extends CustomEvent<T> {
2638
+ detail: T;
2639
+ target: HTMLLimebbColorPalettePickerElement;
2640
+ }
2466
2641
  export interface LimebbComponentConfigCustomEvent<T> extends CustomEvent<T> {
2467
2642
  detail: T;
2468
2643
  target: HTMLLimebbComponentConfigElement;
@@ -2615,6 +2790,14 @@ export interface LimebbPropertySelectorCustomEvent<T> extends CustomEvent<T> {
2615
2790
  detail: T;
2616
2791
  target: HTMLLimebbPropertySelectorElement;
2617
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
+ }
2618
2801
  export interface LimebbSummaryPopoverCustomEvent<T> extends CustomEvent<T> {
2619
2802
  detail: T;
2620
2803
  target: HTMLLimebbSummaryPopoverElement;
@@ -2759,6 +2942,68 @@ declare global {
2759
2942
  prototype: HTMLLimebbChatListElement;
2760
2943
  new (): HTMLLimebbChatListElement;
2761
2944
  };
2945
+ interface HTMLLimebbColorPalettePickerElementEventMap {
2946
+ "change": string;
2947
+ }
2948
+ /**
2949
+ * Picks a color palette from the built-in color-palettes registry,
2950
+ * and shows the palette's swatches alongside its title — both in
2951
+ * the dropdown row and in the selected trigger area.
2952
+ * ### When to use this picker
2953
+ * Use it when a Lime CRM widget needs the admin to choose a set of
2954
+ * colors purely for **visual differentiation** between items in a
2955
+ * list. The picker's contract is "give every item a distinct, nicely
2956
+ * harmonized color"; it does **not** assume any item-to-color
2957
+ * mapping is meaningful. Concrete examples:
2958
+ * - bars / slices in a chart widget
2959
+ * - swimlanes in a kanban view
2960
+ * - event categories in a calendar
2961
+ * - tag chips on a list view
2962
+ * ### When **not** to use it
2963
+ * Don't use this picker when colors carry semantic meaning that
2964
+ * end users must learn and rely on — e.g. _red = high priority_,
2965
+ * _green = healthy_, _yellow = pending_. The palette's color order
2966
+ * and contents may evolve over time (designers tweaking shades,
2967
+ * appending new colors, retiring duplicates), so item-to-color
2968
+ * mappings are intentionally **not** stable across releases. For
2969
+ * status / priority / severity surfaces, encode meaning at the
2970
+ * value level (icons, badges, labels) rather than color alone.
2971
+ * @exampleComponent limebb-example-color-palette-picker
2972
+ * @beta
2973
+ */
2974
+ interface HTMLLimebbColorPalettePickerElement extends Components.LimebbColorPalettePicker, HTMLStencilElement {
2975
+ addEventListener<K extends keyof HTMLLimebbColorPalettePickerElementEventMap>(type: K, listener: (this: HTMLLimebbColorPalettePickerElement, ev: LimebbColorPalettePickerCustomEvent<HTMLLimebbColorPalettePickerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2976
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2977
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2978
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2979
+ removeEventListener<K extends keyof HTMLLimebbColorPalettePickerElementEventMap>(type: K, listener: (this: HTMLLimebbColorPalettePickerElement, ev: LimebbColorPalettePickerCustomEvent<HTMLLimebbColorPalettePickerElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2980
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2981
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2982
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2983
+ }
2984
+ var HTMLLimebbColorPalettePickerElement: {
2985
+ prototype: HTMLLimebbColorPalettePickerElement;
2986
+ new (): HTMLLimebbColorPalettePickerElement;
2987
+ };
2988
+ /**
2989
+ * Renders a small grid of color swatches for a palette. Used as the
2990
+ * inline preview inside [limebb-color-palette-picker](..) — both in
2991
+ * the trigger (the currently chosen palette) and in each row of its
2992
+ * dropdown list (so users can see the colors before picking). Pass
2993
+ * any CSS color strings (`rgb(var(--…))`, hex, etc.).
2994
+ * The swatches are purely decorative — they carry no semantic
2995
+ * information beyond what the surrounding context (e.g. the picker
2996
+ * option's text and secondary text) already provides. The component
2997
+ * marks itself `aria-hidden` so assistive tech skips it cleanly.
2998
+ * @exampleComponent limebb-example-color-palette-swatches
2999
+ * @private
3000
+ */
3001
+ interface HTMLLimebbColorPaletteSwatchesElement extends Components.LimebbColorPaletteSwatches, HTMLStencilElement {
3002
+ }
3003
+ var HTMLLimebbColorPaletteSwatchesElement: {
3004
+ prototype: HTMLLimebbColorPaletteSwatchesElement;
3005
+ new (): HTMLLimebbColorPaletteSwatchesElement;
3006
+ };
2762
3007
  interface HTMLLimebbComponentConfigElementEventMap {
2763
3008
  "change": Record<string, unknown>;
2764
3009
  }
@@ -4050,6 +4295,64 @@ declare global {
4050
4295
  prototype: HTMLLimebbPropertySelectorElement;
4051
4296
  new (): HTMLLimebbPropertySelectorElement;
4052
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
+ };
4053
4356
  /**
4054
4357
  * Renders its slot only when the configured rule evaluates true.
4055
4358
  * Pass a {@link Rule} and the gate compiles it on load and on prop
@@ -4057,6 +4360,7 @@ declare global {
4057
4360
  * {@link RuleRegistry} platform service.
4058
4361
  * @exampleComponent limebb-example-rule-gate
4059
4362
  * @alpha
4363
+ * @private
4060
4364
  */
4061
4365
  interface HTMLLimebbRuleGateElement extends Components.LimebbRuleGate, HTMLStencilElement {
4062
4366
  }
@@ -4239,6 +4543,8 @@ declare global {
4239
4543
  "limebb-chat-icon-list": HTMLLimebbChatIconListElement;
4240
4544
  "limebb-chat-item": HTMLLimebbChatItemElement;
4241
4545
  "limebb-chat-list": HTMLLimebbChatListElement;
4546
+ "limebb-color-palette-picker": HTMLLimebbColorPalettePickerElement;
4547
+ "limebb-color-palette-swatches": HTMLLimebbColorPaletteSwatchesElement;
4242
4548
  "limebb-component-config": HTMLLimebbComponentConfigElement;
4243
4549
  "limebb-component-picker": HTMLLimebbComponentPickerElement;
4244
4550
  "limebb-composer-toolbar": HTMLLimebbComposerToolbarElement;
@@ -4290,6 +4596,8 @@ declare global {
4290
4596
  "limebb-object-chip": HTMLLimebbObjectChipElement;
4291
4597
  "limebb-percentage-visualizer": HTMLLimebbPercentageVisualizerElement;
4292
4598
  "limebb-property-selector": HTMLLimebbPropertySelectorElement;
4599
+ "limebb-rule-chip-popover": HTMLLimebbRuleChipPopoverElement;
4600
+ "limebb-rule-editor": HTMLLimebbRuleEditorElement;
4293
4601
  "limebb-rule-gate": HTMLLimebbRuleGateElement;
4294
4602
  "limebb-summary-popover": HTMLLimebbSummaryPopoverElement;
4295
4603
  "limebb-text-editor": HTMLLimebbTextEditorElement;
@@ -4496,6 +4804,92 @@ declare namespace LocalJSX {
4496
4804
  */
4497
4805
  "platform": LimeWebComponentPlatform;
4498
4806
  }
4807
+ /**
4808
+ * Picks a color palette from the built-in color-palettes registry,
4809
+ * and shows the palette's swatches alongside its title — both in
4810
+ * the dropdown row and in the selected trigger area.
4811
+ * ### When to use this picker
4812
+ * Use it when a Lime CRM widget needs the admin to choose a set of
4813
+ * colors purely for **visual differentiation** between items in a
4814
+ * list. The picker's contract is "give every item a distinct, nicely
4815
+ * harmonized color"; it does **not** assume any item-to-color
4816
+ * mapping is meaningful. Concrete examples:
4817
+ * - bars / slices in a chart widget
4818
+ * - swimlanes in a kanban view
4819
+ * - event categories in a calendar
4820
+ * - tag chips on a list view
4821
+ * ### When **not** to use it
4822
+ * Don't use this picker when colors carry semantic meaning that
4823
+ * end users must learn and rely on — e.g. _red = high priority_,
4824
+ * _green = healthy_, _yellow = pending_. The palette's color order
4825
+ * and contents may evolve over time (designers tweaking shades,
4826
+ * appending new colors, retiring duplicates), so item-to-color
4827
+ * mappings are intentionally **not** stable across releases. For
4828
+ * status / priority / severity surfaces, encode meaning at the
4829
+ * value level (icons, badges, labels) rather than color alone.
4830
+ * @exampleComponent limebb-example-color-palette-picker
4831
+ * @beta
4832
+ */
4833
+ interface LimebbColorPalettePicker {
4834
+ /**
4835
+ * Whether or not the current property is disabled
4836
+ * @inheritdoc
4837
+ */
4838
+ "disabled"?: boolean;
4839
+ /**
4840
+ * The helper text for the current property
4841
+ * @inheritdoc
4842
+ */
4843
+ "helperText"?: string;
4844
+ /**
4845
+ * @inheritdoc
4846
+ */
4847
+ "invalid"?: boolean;
4848
+ /**
4849
+ * The label of the current property
4850
+ * @inheritdoc
4851
+ */
4852
+ "label"?: string;
4853
+ /**
4854
+ * Emitted when the user picks a different palette. The detail is the chosen palette's `id`.
4855
+ */
4856
+ "onChange"?: (event: LimebbColorPalettePickerCustomEvent<string>) => void;
4857
+ /**
4858
+ * Whether or not the current property is readonly
4859
+ * @inheritdoc
4860
+ */
4861
+ "readonly"?: boolean;
4862
+ /**
4863
+ * Whether or not the current property is required
4864
+ * @inheritdoc
4865
+ */
4866
+ "required"?: boolean;
4867
+ /**
4868
+ * The value of the current property
4869
+ * @inheritdoc
4870
+ */
4871
+ "value"?: string;
4872
+ }
4873
+ /**
4874
+ * Renders a small grid of color swatches for a palette. Used as the
4875
+ * inline preview inside [limebb-color-palette-picker](..) — both in
4876
+ * the trigger (the currently chosen palette) and in each row of its
4877
+ * dropdown list (so users can see the colors before picking). Pass
4878
+ * any CSS color strings (`rgb(var(--…))`, hex, etc.).
4879
+ * The swatches are purely decorative — they carry no semantic
4880
+ * information beyond what the surrounding context (e.g. the picker
4881
+ * option's text and secondary text) already provides. The component
4882
+ * marks itself `aria-hidden` so assistive tech skips it cleanly.
4883
+ * @exampleComponent limebb-example-color-palette-swatches
4884
+ * @private
4885
+ */
4886
+ interface LimebbColorPaletteSwatches {
4887
+ /**
4888
+ * Ordered list of CSS color values to render as swatches.
4889
+ * @default []
4890
+ */
4891
+ "colors"?: string[];
4892
+ }
4499
4893
  /**
4500
4894
  * This component must be used in a limel-form
4501
4895
  * where the Command ID OR component name exists in the same section as the config.
@@ -6544,6 +6938,101 @@ declare namespace LocalJSX {
6544
6938
  */
6545
6939
  "value"?: string;
6546
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
+ }
6547
7036
  /**
6548
7037
  * Renders its slot only when the configured rule evaluates true.
6549
7038
  * Pass a {@link Rule} and the gate compiles it on load and on prop
@@ -6551,13 +7040,14 @@ declare namespace LocalJSX {
6551
7040
  * {@link RuleRegistry} platform service.
6552
7041
  * @exampleComponent limebb-example-rule-gate
6553
7042
  * @alpha
7043
+ * @private
6554
7044
  */
6555
7045
  interface LimebbRuleGate {
6556
7046
  "platform"?: LimeWebComponentPlatform;
6557
7047
  /**
6558
- * 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.
6559
7049
  */
6560
- "rule"?: Rule;
7050
+ "rule"?: Rule | undefined;
6561
7051
  /**
6562
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.
6563
7053
  */
@@ -6919,6 +7409,15 @@ declare namespace LocalJSX {
6919
7409
  "lastVisitedTimestamp": string | Date | null;
6920
7410
  "order": 'newest-on-top' | 'oldest-on-top';
6921
7411
  }
7412
+ interface LimebbColorPalettePickerAttributes {
7413
+ "value": string;
7414
+ "required": boolean;
7415
+ "readonly": boolean;
7416
+ "invalid": boolean;
7417
+ "disabled": boolean;
7418
+ "label": string;
7419
+ "helperText": string;
7420
+ }
6922
7421
  interface LimebbComponentConfigAttributes {
6923
7422
  "required": boolean;
6924
7423
  "readonly": boolean;
@@ -7166,6 +7665,19 @@ declare namespace LocalJSX {
7166
7665
  "required": boolean;
7167
7666
  "helperText": string;
7168
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
+ }
7169
7681
  interface LimebbSummaryPopoverAttributes {
7170
7682
  "triggerDelay": number;
7171
7683
  "heading": string;
@@ -7215,6 +7727,8 @@ declare namespace LocalJSX {
7215
7727
  "limebb-chat-icon-list": LimebbChatIconList;
7216
7728
  "limebb-chat-item": Omit<LimebbChatItem, keyof LimebbChatItemAttributes> & { [K in keyof LimebbChatItem & keyof LimebbChatItemAttributes]?: LimebbChatItem[K] } & { [K in keyof LimebbChatItem & keyof LimebbChatItemAttributes as `attr:${K}`]?: LimebbChatItemAttributes[K] } & { [K in keyof LimebbChatItem & keyof LimebbChatItemAttributes as `prop:${K}`]?: LimebbChatItem[K] };
7217
7729
  "limebb-chat-list": Omit<LimebbChatList, keyof LimebbChatListAttributes> & { [K in keyof LimebbChatList & keyof LimebbChatListAttributes]?: LimebbChatList[K] } & { [K in keyof LimebbChatList & keyof LimebbChatListAttributes as `attr:${K}`]?: LimebbChatListAttributes[K] } & { [K in keyof LimebbChatList & keyof LimebbChatListAttributes as `prop:${K}`]?: LimebbChatList[K] };
7730
+ "limebb-color-palette-picker": Omit<LimebbColorPalettePicker, keyof LimebbColorPalettePickerAttributes> & { [K in keyof LimebbColorPalettePicker & keyof LimebbColorPalettePickerAttributes]?: LimebbColorPalettePicker[K] } & { [K in keyof LimebbColorPalettePicker & keyof LimebbColorPalettePickerAttributes as `attr:${K}`]?: LimebbColorPalettePickerAttributes[K] } & { [K in keyof LimebbColorPalettePicker & keyof LimebbColorPalettePickerAttributes as `prop:${K}`]?: LimebbColorPalettePicker[K] };
7731
+ "limebb-color-palette-swatches": LimebbColorPaletteSwatches;
7218
7732
  "limebb-component-config": Omit<LimebbComponentConfig, keyof LimebbComponentConfigAttributes> & { [K in keyof LimebbComponentConfig & keyof LimebbComponentConfigAttributes]?: LimebbComponentConfig[K] } & { [K in keyof LimebbComponentConfig & keyof LimebbComponentConfigAttributes as `attr:${K}`]?: LimebbComponentConfigAttributes[K] } & { [K in keyof LimebbComponentConfig & keyof LimebbComponentConfigAttributes as `prop:${K}`]?: LimebbComponentConfig[K] };
7219
7733
  "limebb-component-picker": Omit<LimebbComponentPicker, keyof LimebbComponentPickerAttributes> & { [K in keyof LimebbComponentPicker & keyof LimebbComponentPickerAttributes]?: LimebbComponentPicker[K] } & { [K in keyof LimebbComponentPicker & keyof LimebbComponentPickerAttributes as `attr:${K}`]?: LimebbComponentPickerAttributes[K] } & { [K in keyof LimebbComponentPicker & keyof LimebbComponentPickerAttributes as `prop:${K}`]?: LimebbComponentPicker[K] };
7220
7734
  "limebb-composer-toolbar": Omit<LimebbComposerToolbar, keyof LimebbComposerToolbarAttributes> & { [K in keyof LimebbComposerToolbar & keyof LimebbComposerToolbarAttributes]?: LimebbComposerToolbar[K] } & { [K in keyof LimebbComposerToolbar & keyof LimebbComposerToolbarAttributes as `attr:${K}`]?: LimebbComposerToolbarAttributes[K] } & { [K in keyof LimebbComposerToolbar & keyof LimebbComposerToolbarAttributes as `prop:${K}`]?: LimebbComposerToolbar[K] };
@@ -7266,6 +7780,8 @@ declare namespace LocalJSX {
7266
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] };
7267
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] };
7268
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] };
7269
7785
  "limebb-rule-gate": LimebbRuleGate;
7270
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] };
7271
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] };
@@ -7362,6 +7878,47 @@ declare module "@stencil/core" {
7362
7878
  * @beta
7363
7879
  */
7364
7880
  "limebb-chat-list": LocalJSX.IntrinsicElements["limebb-chat-list"] & JSXBase.HTMLAttributes<HTMLLimebbChatListElement>;
7881
+ /**
7882
+ * Picks a color palette from the built-in color-palettes registry,
7883
+ * and shows the palette's swatches alongside its title — both in
7884
+ * the dropdown row and in the selected trigger area.
7885
+ * ### When to use this picker
7886
+ * Use it when a Lime CRM widget needs the admin to choose a set of
7887
+ * colors purely for **visual differentiation** between items in a
7888
+ * list. The picker's contract is "give every item a distinct, nicely
7889
+ * harmonized color"; it does **not** assume any item-to-color
7890
+ * mapping is meaningful. Concrete examples:
7891
+ * - bars / slices in a chart widget
7892
+ * - swimlanes in a kanban view
7893
+ * - event categories in a calendar
7894
+ * - tag chips on a list view
7895
+ * ### When **not** to use it
7896
+ * Don't use this picker when colors carry semantic meaning that
7897
+ * end users must learn and rely on — e.g. _red = high priority_,
7898
+ * _green = healthy_, _yellow = pending_. The palette's color order
7899
+ * and contents may evolve over time (designers tweaking shades,
7900
+ * appending new colors, retiring duplicates), so item-to-color
7901
+ * mappings are intentionally **not** stable across releases. For
7902
+ * status / priority / severity surfaces, encode meaning at the
7903
+ * value level (icons, badges, labels) rather than color alone.
7904
+ * @exampleComponent limebb-example-color-palette-picker
7905
+ * @beta
7906
+ */
7907
+ "limebb-color-palette-picker": LocalJSX.IntrinsicElements["limebb-color-palette-picker"] & JSXBase.HTMLAttributes<HTMLLimebbColorPalettePickerElement>;
7908
+ /**
7909
+ * Renders a small grid of color swatches for a palette. Used as the
7910
+ * inline preview inside [limebb-color-palette-picker](..) — both in
7911
+ * the trigger (the currently chosen palette) and in each row of its
7912
+ * dropdown list (so users can see the colors before picking). Pass
7913
+ * any CSS color strings (`rgb(var(--…))`, hex, etc.).
7914
+ * The swatches are purely decorative — they carry no semantic
7915
+ * information beyond what the surrounding context (e.g. the picker
7916
+ * option's text and secondary text) already provides. The component
7917
+ * marks itself `aria-hidden` so assistive tech skips it cleanly.
7918
+ * @exampleComponent limebb-example-color-palette-swatches
7919
+ * @private
7920
+ */
7921
+ "limebb-color-palette-swatches": LocalJSX.IntrinsicElements["limebb-color-palette-swatches"] & JSXBase.HTMLAttributes<HTMLLimebbColorPaletteSwatchesElement>;
7365
7922
  /**
7366
7923
  * This component must be used in a limel-form
7367
7924
  * where the Command ID OR component name exists in the same section as the config.
@@ -7975,6 +8532,30 @@ declare module "@stencil/core" {
7975
8532
  * @private
7976
8533
  */
7977
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>;
7978
8559
  /**
7979
8560
  * Renders its slot only when the configured rule evaluates true.
7980
8561
  * Pass a {@link Rule} and the gate compiles it on load and on prop
@@ -7982,6 +8563,7 @@ declare module "@stencil/core" {
7982
8563
  * {@link RuleRegistry} platform service.
7983
8564
  * @exampleComponent limebb-example-rule-gate
7984
8565
  * @alpha
8566
+ * @private
7985
8567
  */
7986
8568
  "limebb-rule-gate": LocalJSX.IntrinsicElements["limebb-rule-gate"] & JSXBase.HTMLAttributes<HTMLLimebbRuleGateElement>;
7987
8569
  /**