@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
@@ -0,0 +1,301 @@
1
+ import { PlatformServiceName, } from "@limetech/lime-web-components";
2
+ import { h } from "@stencil/core";
3
+ import { LimeWebComponentTemplate } from "../../../util/web-component-template";
4
+ /**
5
+ * Popover content for a rule-editor chip. Carries its own styles so
6
+ * they travel with the element when `limel-popover` portals it out of
7
+ * the rule-editor's shadow DOM.
8
+ *
9
+ * @private
10
+ */
11
+ export class RuleChipPopover {
12
+ constructor() {
13
+ this.isNegated = false;
14
+ this.readonly = false;
15
+ this.disabled = false;
16
+ this.isMutable = true;
17
+ this.handleNegateChange = (event) => {
18
+ event.stopPropagation();
19
+ this.negate.emit(event.detail);
20
+ };
21
+ this.handleArgsChange = (event) => {
22
+ event.stopPropagation();
23
+ this.updateArgs.emit(event.detail);
24
+ };
25
+ this.handleDelete = () => {
26
+ this.deleteChip.emit();
27
+ };
28
+ }
29
+ render() {
30
+ return (h("div", { key: '6aae573b524737ee3d2a4b2d3df68ec9bf1f1a0f', class: "popover" }, this.renderHeader(), this.renderBody()));
31
+ }
32
+ renderHeader() {
33
+ var _a, _b, _c, _d, _e;
34
+ const title = (_d = (_b = (_a = this.metadata) === null || _a === void 0 ? void 0 : _a.title) !== null && _b !== void 0 ? _b : (_c = this.refNode) === null || _c === void 0 ? void 0 : _c.id) !== null && _d !== void 0 ? _d : '';
35
+ return (h("limel-header", { class: "popover__header is-narrow", heading: title, icon: (_e = this.metadata) === null || _e === void 0 ? void 0 : _e.icon }, this.renderHeaderActions()));
36
+ }
37
+ renderHeaderActions() {
38
+ if (!this.isMutable) {
39
+ return null;
40
+ }
41
+ return (h("div", { slot: "actions", class: "popover__header-actions" }, h("limel-switch", { class: "popover__negate-switch", label: this.translator.get('webclient.rule-editor.negate'), value: this.isNegated, onChange: this.handleNegateChange }), h("limel-icon-button", { class: "popover__delete-button", icon: "trash", label: this.translator.get('webclient.rule-editor.delete'), onClick: this.handleDelete })));
42
+ }
43
+ get translator() {
44
+ return this.platform.get(PlatformServiceName.Translate);
45
+ }
46
+ renderBody() {
47
+ var _a, _b;
48
+ const configComponent = (_a = this.metadata) === null || _a === void 0 ? void 0 : _a.configComponent;
49
+ if (!configComponent) {
50
+ return null;
51
+ }
52
+ return (h("div", { class: "popover__body" }, h(LimeWebComponentTemplate, { platform: this.platform, context: this.context, name: configComponent.name, props: Object.assign(Object.assign({}, configComponent.props), { value: (_b = this.refNode) === null || _b === void 0 ? void 0 : _b.args, readonly: this.readonly, disabled: this.disabled, onChange: this.handleArgsChange }) })));
53
+ }
54
+ static get is() { return "limebb-rule-chip-popover"; }
55
+ static get encapsulation() { return "shadow"; }
56
+ static get originalStyleUrls() {
57
+ return {
58
+ "$": ["rule-chip-popover.scss"]
59
+ };
60
+ }
61
+ static get styleUrls() {
62
+ return {
63
+ "$": ["rule-chip-popover.css"]
64
+ };
65
+ }
66
+ static get properties() {
67
+ return {
68
+ "platform": {
69
+ "type": "unknown",
70
+ "mutable": false,
71
+ "complexType": {
72
+ "original": "LimeWebComponentPlatform",
73
+ "resolved": "LimeWebComponentPlatform",
74
+ "references": {
75
+ "LimeWebComponentPlatform": {
76
+ "location": "import",
77
+ "path": "@limetech/lime-web-components",
78
+ "id": "node_modules::LimeWebComponentPlatform",
79
+ "referenceLocation": "LimeWebComponentPlatform"
80
+ }
81
+ }
82
+ },
83
+ "required": false,
84
+ "optional": false,
85
+ "docs": {
86
+ "tags": [],
87
+ "text": ""
88
+ },
89
+ "getter": false,
90
+ "setter": false
91
+ },
92
+ "context": {
93
+ "type": "unknown",
94
+ "mutable": false,
95
+ "complexType": {
96
+ "original": "LimeWebComponentContext",
97
+ "resolved": "LimeWebComponentContext",
98
+ "references": {
99
+ "LimeWebComponentContext": {
100
+ "location": "import",
101
+ "path": "@limetech/lime-web-components",
102
+ "id": "node_modules::LimeWebComponentContext",
103
+ "referenceLocation": "LimeWebComponentContext"
104
+ }
105
+ }
106
+ },
107
+ "required": false,
108
+ "optional": false,
109
+ "docs": {
110
+ "tags": [],
111
+ "text": ""
112
+ },
113
+ "getter": false,
114
+ "setter": false
115
+ },
116
+ "refNode": {
117
+ "type": "unknown",
118
+ "mutable": false,
119
+ "complexType": {
120
+ "original": "RuleRef",
121
+ "resolved": "RuleRef",
122
+ "references": {
123
+ "RuleRef": {
124
+ "location": "import",
125
+ "path": "@limetech/lime-web-components",
126
+ "id": "node_modules::RuleRef",
127
+ "referenceLocation": "RuleRef"
128
+ }
129
+ }
130
+ },
131
+ "required": false,
132
+ "optional": false,
133
+ "docs": {
134
+ "tags": [],
135
+ "text": ""
136
+ },
137
+ "getter": false,
138
+ "setter": false
139
+ },
140
+ "isNegated": {
141
+ "type": "boolean",
142
+ "mutable": false,
143
+ "complexType": {
144
+ "original": "boolean",
145
+ "resolved": "boolean",
146
+ "references": {}
147
+ },
148
+ "required": false,
149
+ "optional": false,
150
+ "docs": {
151
+ "tags": [],
152
+ "text": ""
153
+ },
154
+ "getter": false,
155
+ "setter": false,
156
+ "reflect": false,
157
+ "attribute": "is-negated",
158
+ "defaultValue": "false"
159
+ },
160
+ "metadata": {
161
+ "type": "unknown",
162
+ "mutable": false,
163
+ "complexType": {
164
+ "original": "PrimitiveMetadata",
165
+ "resolved": "ConfigMetadata & { id: string; reads: (keyof SubjectRegistry)[]; } | undefined",
166
+ "references": {
167
+ "PrimitiveMetadata": {
168
+ "location": "import",
169
+ "path": "@limetech/lime-web-components",
170
+ "id": "node_modules::PrimitiveMetadata",
171
+ "referenceLocation": "PrimitiveMetadata"
172
+ }
173
+ }
174
+ },
175
+ "required": false,
176
+ "optional": true,
177
+ "docs": {
178
+ "tags": [],
179
+ "text": ""
180
+ },
181
+ "getter": false,
182
+ "setter": false
183
+ },
184
+ "readonly": {
185
+ "type": "boolean",
186
+ "mutable": false,
187
+ "complexType": {
188
+ "original": "boolean",
189
+ "resolved": "boolean",
190
+ "references": {}
191
+ },
192
+ "required": false,
193
+ "optional": false,
194
+ "docs": {
195
+ "tags": [],
196
+ "text": ""
197
+ },
198
+ "getter": false,
199
+ "setter": false,
200
+ "reflect": false,
201
+ "attribute": "readonly",
202
+ "defaultValue": "false"
203
+ },
204
+ "disabled": {
205
+ "type": "boolean",
206
+ "mutable": false,
207
+ "complexType": {
208
+ "original": "boolean",
209
+ "resolved": "boolean",
210
+ "references": {}
211
+ },
212
+ "required": false,
213
+ "optional": false,
214
+ "docs": {
215
+ "tags": [],
216
+ "text": ""
217
+ },
218
+ "getter": false,
219
+ "setter": false,
220
+ "reflect": false,
221
+ "attribute": "disabled",
222
+ "defaultValue": "false"
223
+ },
224
+ "isMutable": {
225
+ "type": "boolean",
226
+ "mutable": false,
227
+ "complexType": {
228
+ "original": "boolean",
229
+ "resolved": "boolean",
230
+ "references": {}
231
+ },
232
+ "required": false,
233
+ "optional": false,
234
+ "docs": {
235
+ "tags": [],
236
+ "text": ""
237
+ },
238
+ "getter": false,
239
+ "setter": false,
240
+ "reflect": false,
241
+ "attribute": "is-mutable",
242
+ "defaultValue": "true"
243
+ }
244
+ };
245
+ }
246
+ static get events() {
247
+ return [{
248
+ "method": "negate",
249
+ "name": "negate",
250
+ "bubbles": true,
251
+ "cancelable": true,
252
+ "composed": true,
253
+ "docs": {
254
+ "tags": [],
255
+ "text": ""
256
+ },
257
+ "complexType": {
258
+ "original": "boolean",
259
+ "resolved": "boolean",
260
+ "references": {}
261
+ }
262
+ }, {
263
+ "method": "updateArgs",
264
+ "name": "updateArgs",
265
+ "bubbles": true,
266
+ "cancelable": true,
267
+ "composed": true,
268
+ "docs": {
269
+ "tags": [],
270
+ "text": ""
271
+ },
272
+ "complexType": {
273
+ "original": "JsonValue",
274
+ "resolved": "JsonValue[] | boolean | null | number | string | { [key: string]: JsonValue; }",
275
+ "references": {
276
+ "JsonValue": {
277
+ "location": "import",
278
+ "path": "@limetech/lime-web-components",
279
+ "id": "node_modules::JsonValue",
280
+ "referenceLocation": "JsonValue"
281
+ }
282
+ }
283
+ }
284
+ }, {
285
+ "method": "deleteChip",
286
+ "name": "deleteChip",
287
+ "bubbles": true,
288
+ "cancelable": true,
289
+ "composed": true,
290
+ "docs": {
291
+ "tags": [],
292
+ "text": ""
293
+ },
294
+ "complexType": {
295
+ "original": "void",
296
+ "resolved": "void",
297
+ "references": {}
298
+ }
299
+ }];
300
+ }
301
+ }
@@ -0,0 +1,43 @@
1
+ import { h } from "@stencil/core";
2
+ import { GroupNodeView } from "./group-node-view";
3
+ /**
4
+ * Render a `Rule` node and recurse into its children.
5
+ * @param props
6
+ */
7
+ export const RuleNodeView = (props) => {
8
+ const { node, path, ctx } = props;
9
+ const group = extractGroup(node);
10
+ if (!group) {
11
+ return null;
12
+ }
13
+ return (h(GroupNodeView, { node: group.node, path: path, isNegated: group.isNegated, ctx: ctx }));
14
+ };
15
+ const isNegatedGroup = (node) => node.type === 'not' &&
16
+ (node.rule.type === 'all' || node.rule.type === 'any');
17
+ /**
18
+ * If `node` is a group (`all`/`any`) or a negated group, return the
19
+ * inner group together with its negation flag. Otherwise `null`.
20
+ * Used by the dispatcher and by the editor's input normalization.
21
+ * @param node
22
+ */
23
+ export function extractGroup(node) {
24
+ if (node.type === 'all' || node.type === 'any') {
25
+ return { node, isNegated: false };
26
+ }
27
+ if (isNegatedGroup(node)) {
28
+ return { node: node.rule, isNegated: true };
29
+ }
30
+ if (node.type === 'not') {
31
+ const inner = extractGroup(node.rule);
32
+ if (inner) {
33
+ return { node: inner.node, isNegated: !inner.isNegated };
34
+ }
35
+ }
36
+ return null;
37
+ }
38
+ export const IssuesView = ({ issues }) => {
39
+ if (issues.length === 0) {
40
+ return null;
41
+ }
42
+ return issues.map((issue) => (h("div", { class: "rule-node__issue" }, issue.message)));
43
+ };
@@ -0,0 +1,96 @@
1
+ :host {
2
+ display: block;
3
+ }
4
+
5
+ .rule-editor--disabled {
6
+ opacity: 0.6;
7
+ pointer-events: none;
8
+ }
9
+
10
+ .rule-editor__label {
11
+ font-size: 0.75rem;
12
+ font-weight: 600;
13
+ color: rgb(var(--contrast-1500));
14
+ margin-bottom: 0.25rem;
15
+ }
16
+
17
+ .rule-editor__helper-text {
18
+ font-size: 0.75rem;
19
+ color: rgb(var(--contrast-1300));
20
+ margin-top: 0.25rem;
21
+ }
22
+
23
+ .rule-node {
24
+ border: 1px solid rgb(var(--contrast-500));
25
+ border-radius: 0.5rem;
26
+ margin: 0.25rem 0;
27
+ overflow: hidden;
28
+ background-color: rgb(var(--contrast-100));
29
+ }
30
+
31
+ .rule-node--invalid {
32
+ border-color: rgb(var(--color-red-default));
33
+ }
34
+
35
+ .rule-node--all > .rule-node__header,
36
+ .rule-node--any > .rule-node__header {
37
+ background-color: rgb(var(--contrast-300));
38
+ padding: 0.375rem 0.75rem;
39
+ border-bottom: 1px solid rgb(var(--contrast-500));
40
+ }
41
+
42
+ .rule-node__header {
43
+ display: flex;
44
+ align-items: center;
45
+ gap: 0.5rem;
46
+ }
47
+
48
+ .rule-node__header-actions {
49
+ margin-left: auto;
50
+ display: grid;
51
+ grid-auto-flow: column;
52
+ grid-gap: 0.5rem;
53
+ padding: 0.125rem;
54
+ align-items: center;
55
+ }
56
+
57
+ .rule-node__combinator-select {
58
+ min-width: 6rem;
59
+ }
60
+
61
+ .rule-node__body {
62
+ padding: 0.75rem;
63
+ display: flex;
64
+ flex-direction: column;
65
+ gap: 0.75rem;
66
+ }
67
+
68
+ limel-popover.rule-node__chips-popover {
69
+ display: contents;
70
+ }
71
+
72
+ .rule-node__chips {
73
+ display: block;
74
+ width: 100%;
75
+ }
76
+
77
+ .rule-node__chips limel-picker {
78
+ display: block;
79
+ width: 100%;
80
+ }
81
+
82
+ .rule-node__children {
83
+ display: flex;
84
+ flex-direction: column;
85
+ gap: 0.5rem;
86
+ }
87
+
88
+ .rule-node__footer {
89
+ display: flex;
90
+ justify-content: center;
91
+ }
92
+
93
+ .rule-node__issue {
94
+ color: rgb(var(--color-red-default));
95
+ font-size: 0.875rem;
96
+ }