@limetech/lime-crm-building-blocks 1.139.1 → 1.140.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 (261) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/{filter-condition-icons-HypsDn6x.js → filter-condition-icons-QK5stWj6.js} +142 -0
  3. package/dist/cjs/filter-operators-BTWvpD6A.js +61 -0
  4. package/dist/cjs/index.cjs.js +8 -1
  5. package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
  6. package/dist/cjs/limebb-alert-dialog.cjs.entry.js +1 -1
  7. package/dist/cjs/limebb-browser.cjs.entry.js +2 -2
  8. package/dist/cjs/limebb-chat-icon-list_3.cjs.entry.js +4 -4
  9. package/dist/cjs/limebb-chat-list.cjs.entry.js +1 -1
  10. package/dist/cjs/limebb-color-palette-picker.cjs.entry.js +1 -1
  11. package/dist/cjs/limebb-color-palette-swatches.cjs.entry.js +1 -1
  12. package/dist/cjs/limebb-composer-toolbar.cjs.entry.js +2 -2
  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-filter-chip_5.cjs.entry.js → limebb-filter-chip_6.cjs.entry.js} +115 -81
  24. package/dist/cjs/limebb-icon-picker.cjs.entry.js +1 -1
  25. package/dist/cjs/limebb-info-tile-format.cjs.entry.js +1 -1
  26. package/dist/cjs/limebb-info-tile.cjs.entry.js +1 -1
  27. package/dist/cjs/limebb-kanban-group.cjs.entry.js +1 -1
  28. package/dist/cjs/limebb-kanban-item.cjs.entry.js +1 -1
  29. package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +1 -1
  30. package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +7 -24
  31. package/dist/cjs/limebb-lime-query-order-by-editor_2.cjs.entry.js +2 -2
  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 +1 -1
  42. package/dist/cjs/limebb-rule-editor.cjs.entry.js +1 -1
  43. package/dist/cjs/limebb-rule-gate.cjs.entry.js +1 -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/limebb-value-comparison-editor.cjs.entry.js +37 -35
  47. package/dist/cjs/loader.cjs.js +1 -1
  48. package/dist/collection/collection-manifest.json +1 -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.js +1 -1
  56. package/dist/collection/components/color-palette-picker/color-palette-swatches/color-palette-swatches.js +1 -1
  57. package/dist/collection/components/composer-toolbar/composer-toolbar.js +2 -2
  58. package/dist/collection/components/currency-picker/currency-picker.js +1 -1
  59. package/dist/collection/components/dashboard-widget/dashboard-widget.js +1 -1
  60. package/dist/collection/components/date-picker/date-picker.js +1 -1
  61. package/dist/collection/components/date-range/date-range.js +1 -1
  62. package/dist/collection/components/document-chips/document-chips.js +1 -1
  63. package/dist/collection/components/document-picker/document-item/document-item.js +2 -2
  64. package/dist/collection/components/document-picker/document-picker.js +1 -1
  65. package/dist/collection/components/feed/feed-item/feed-timeline-item.js +1 -1
  66. package/dist/collection/components/feed/feed-item-thumbnail-file-info/feed-item-thumbnail-file-info.js +1 -1
  67. package/dist/collection/components/feed/feed.js +1 -1
  68. package/dist/collection/components/filter-chip/filter-chip.js +2 -2
  69. package/dist/collection/components/filter-chip/filter-condition-icons.js +141 -0
  70. package/dist/collection/components/filter-chip/filter-operators.js +54 -0
  71. package/dist/collection/components/filter-condition-picker/filter-condition-picker.css +7 -0
  72. package/dist/collection/components/filter-condition-picker/filter-condition-picker.js +256 -0
  73. package/dist/collection/components/icon-picker/icon-picker.js +1 -1
  74. package/dist/collection/components/info-tile/format/config/info-tile-format.js +1 -1
  75. package/dist/collection/components/info-tile/info-tile.js +1 -1
  76. package/dist/collection/components/kanban/kanban-group/kanban-group.js +1 -1
  77. package/dist/collection/components/kanban/kanban-item/kanban-item.js +1 -1
  78. package/dist/collection/components/lime-query-builder/expressions/compound-leaf.js +6 -6
  79. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison-editor.js +37 -20
  80. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +8 -25
  81. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js +2 -2
  82. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +1 -1
  83. package/dist/collection/components/lime-query-builder/expressions/lime-query-operators.js +23 -57
  84. package/dist/collection/components/lime-query-builder/lime-query-builder.js +1 -1
  85. package/dist/collection/components/lime-query-builder/lime-query-response-format-builder.js +1 -1
  86. package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +1 -1
  87. package/dist/collection/components/lime-query-builder/order-by/order-by-editor.js +1 -1
  88. package/dist/collection/components/lime-query-builder/order-by/order-by-item.js +2 -2
  89. package/dist/collection/components/lime-query-builder/response-format/response-format-item.js +1 -1
  90. package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
  91. package/dist/collection/components/locale-picker/locale-picker.js +1 -1
  92. package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
  93. package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
  94. package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.js +1 -1
  95. package/dist/collection/components/rule-editor/rule-editor.js +1 -1
  96. package/dist/collection/components/rule-editor/value-comparison-editor/value-comparison-editor.js +62 -36
  97. package/dist/collection/components/rule-gate/rule-gate.js +1 -1
  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/components/chat-icon-list.js +1 -1
  104. package/dist/components/chat-item.js +1 -1
  105. package/dist/components/currency-picker.js +1 -1
  106. package/dist/components/date-picker.js +1 -1
  107. package/dist/components/document-item.js +1 -1
  108. package/dist/components/feed-item-thumbnail-file-info.js +1 -1
  109. package/dist/components/feed-timeline-item.js +1 -1
  110. package/dist/components/filter-chip.js +1 -1
  111. package/dist/components/filter-condition-icons.js +1 -1
  112. package/dist/components/filter-condition-picker.js +1 -0
  113. package/dist/components/filter-operators.js +1 -0
  114. package/dist/components/index.js +1 -1
  115. package/dist/components/kanban-group.js +1 -1
  116. package/dist/components/kanban-item.js +1 -1
  117. package/dist/components/lime-query-filter-builder.js +1 -1
  118. package/dist/components/lime-query-filter-comparison-editor.js +1 -1
  119. package/dist/components/lime-query-filter-comparison.js +1 -1
  120. package/dist/components/lime-query-filter-expression.js +1 -1
  121. package/dist/components/limebb-alert-dialog.js +1 -1
  122. package/dist/components/limebb-browser.js +1 -1
  123. package/dist/components/limebb-chat-list.js +1 -1
  124. package/dist/components/limebb-color-palette-picker.js +1 -1
  125. package/dist/components/limebb-color-palette-swatches.js +1 -1
  126. package/dist/components/limebb-composer-toolbar.js +1 -1
  127. package/dist/components/limebb-dashboard-widget.js +1 -1
  128. package/dist/components/limebb-date-range.js +1 -1
  129. package/dist/components/limebb-document-chips.js +1 -1
  130. package/dist/components/limebb-document-picker.js +1 -1
  131. package/dist/components/limebb-feed.js +1 -1
  132. package/dist/components/limebb-filter-condition-picker.d.ts +11 -0
  133. package/dist/components/limebb-filter-condition-picker.js +1 -0
  134. package/dist/components/limebb-icon-picker.js +1 -1
  135. package/dist/components/limebb-info-tile-format.js +1 -1
  136. package/dist/components/limebb-info-tile.js +1 -1
  137. package/dist/components/limebb-lime-query-builder.js +1 -1
  138. package/dist/components/limebb-lime-query-response-format-builder.js +1 -1
  139. package/dist/components/limebb-locale-picker.js +1 -1
  140. package/dist/components/limebb-mention-group-counter.js +1 -1
  141. package/dist/components/limebb-rule-arg-filter-editor.js +1 -1
  142. package/dist/components/limebb-rule-editor.js +1 -1
  143. package/dist/components/limebb-rule-gate.js +1 -1
  144. package/dist/components/limebb-text-editor.js +1 -1
  145. package/dist/components/limebb-trend-indicator.js +1 -1
  146. package/dist/components/limebb-value-comparison-editor.js +1 -1
  147. package/dist/components/limetype-field.js +1 -1
  148. package/dist/components/live-docs-info.js +1 -1
  149. package/dist/components/notification-item.js +1 -1
  150. package/dist/components/order-by-editor.js +1 -1
  151. package/dist/components/order-by-item.js +1 -1
  152. package/dist/components/percentage-visualizer.js +1 -1
  153. package/dist/components/response-format-item.js +1 -1
  154. package/dist/components/rule-chip-popover.js +1 -1
  155. package/dist/components/summary-popover.js +1 -1
  156. package/dist/components/typing-indicator.js +1 -1
  157. package/dist/esm/{filter-condition-icons-D8CJOcfs.js → filter-condition-icons-C_y3-T4Q.js} +142 -1
  158. package/dist/esm/filter-operators-Lw-ccmxQ.js +57 -0
  159. package/dist/esm/index.js +4 -1
  160. package/dist/esm/lime-crm-building-blocks.js +1 -1
  161. package/dist/esm/limebb-alert-dialog.entry.js +1 -1
  162. package/dist/esm/limebb-browser.entry.js +2 -2
  163. package/dist/esm/limebb-chat-icon-list_3.entry.js +4 -4
  164. package/dist/esm/limebb-chat-list.entry.js +1 -1
  165. package/dist/esm/limebb-color-palette-picker.entry.js +1 -1
  166. package/dist/esm/limebb-color-palette-swatches.entry.js +1 -1
  167. package/dist/esm/limebb-composer-toolbar.entry.js +2 -2
  168. package/dist/esm/limebb-currency-picker.entry.js +1 -1
  169. package/dist/esm/limebb-dashboard-widget.entry.js +1 -1
  170. package/dist/esm/limebb-date-picker.entry.js +1 -1
  171. package/dist/esm/limebb-date-range.entry.js +1 -1
  172. package/dist/esm/limebb-document-chips.entry.js +1 -1
  173. package/dist/esm/limebb-document-item.entry.js +2 -2
  174. package/dist/esm/limebb-document-picker.entry.js +1 -1
  175. package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
  176. package/dist/esm/limebb-feed-timeline-item.entry.js +1 -1
  177. package/dist/esm/limebb-feed.entry.js +1 -1
  178. package/dist/esm/{limebb-filter-chip_5.entry.js → limebb-filter-chip_6.entry.js} +115 -82
  179. package/dist/esm/limebb-icon-picker.entry.js +1 -1
  180. package/dist/esm/limebb-info-tile-format.entry.js +1 -1
  181. package/dist/esm/limebb-info-tile.entry.js +1 -1
  182. package/dist/esm/limebb-kanban-group.entry.js +1 -1
  183. package/dist/esm/limebb-kanban-item.entry.js +1 -1
  184. package/dist/esm/limebb-lime-query-builder.entry.js +1 -1
  185. package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +7 -24
  186. package/dist/esm/limebb-lime-query-order-by-editor_2.entry.js +2 -2
  187. package/dist/esm/limebb-lime-query-order-by-item.entry.js +2 -2
  188. package/dist/esm/limebb-lime-query-response-format-builder.entry.js +1 -1
  189. package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +1 -1
  190. package/dist/esm/limebb-live-docs-info.entry.js +2 -2
  191. package/dist/esm/limebb-locale-picker.entry.js +1 -1
  192. package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
  193. package/dist/esm/limebb-navigation-button_2.entry.js +2 -2
  194. package/dist/esm/limebb-notification-item.entry.js +1 -1
  195. package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
  196. package/dist/esm/limebb-rule-chip-popover.entry.js +1 -1
  197. package/dist/esm/limebb-rule-editor.entry.js +1 -1
  198. package/dist/esm/limebb-rule-gate.entry.js +1 -1
  199. package/dist/esm/limebb-text-editor.entry.js +1 -1
  200. package/dist/esm/limebb-trend-indicator.entry.js +1 -1
  201. package/dist/esm/limebb-value-comparison-editor.entry.js +37 -35
  202. package/dist/esm/loader.js +1 -1
  203. package/dist/lime-crm-building-blocks/index.esm.js +1 -1
  204. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  205. package/dist/lime-crm-building-blocks/{p-0579d006.entry.js → p-05a1762a.entry.js} +1 -1
  206. package/dist/lime-crm-building-blocks/{p-e4cef02f.entry.js → p-19dc7242.entry.js} +1 -1
  207. package/dist/lime-crm-building-blocks/{p-96ea4550.entry.js → p-1f97e235.entry.js} +1 -1
  208. package/dist/lime-crm-building-blocks/{p-0f821315.entry.js → p-22e68812.entry.js} +1 -1
  209. package/dist/lime-crm-building-blocks/{p-3fc9866a.entry.js → p-251aca46.entry.js} +1 -1
  210. package/dist/lime-crm-building-blocks/{p-39009b47.entry.js → p-2dab7d4b.entry.js} +1 -1
  211. package/dist/lime-crm-building-blocks/{p-46dc34a6.entry.js → p-3f537135.entry.js} +1 -1
  212. package/dist/lime-crm-building-blocks/{p-f73e3da0.entry.js → p-430e3d11.entry.js} +1 -1
  213. package/dist/lime-crm-building-blocks/{p-817e2952.entry.js → p-43bdd66b.entry.js} +1 -1
  214. package/dist/lime-crm-building-blocks/p-58f18819.entry.js +1 -0
  215. package/dist/lime-crm-building-blocks/{p-302e6e3e.entry.js → p-6fe4c1cd.entry.js} +1 -1
  216. package/dist/lime-crm-building-blocks/{p-bf4b2a91.entry.js → p-7033d408.entry.js} +1 -1
  217. package/dist/lime-crm-building-blocks/{p-fce1a282.entry.js → p-73b71080.entry.js} +1 -1
  218. package/dist/lime-crm-building-blocks/{p-de785fee.entry.js → p-7b6c9cbf.entry.js} +1 -1
  219. package/dist/lime-crm-building-blocks/{p-be5c43bb.entry.js → p-863f456c.entry.js} +1 -1
  220. package/dist/lime-crm-building-blocks/{p-1cd148e2.entry.js → p-896e77b9.entry.js} +1 -1
  221. package/dist/lime-crm-building-blocks/{p-dacd1df3.entry.js → p-8986f27b.entry.js} +1 -1
  222. package/dist/lime-crm-building-blocks/{p-5b1ccfe1.entry.js → p-92bf5318.entry.js} +1 -1
  223. package/dist/lime-crm-building-blocks/{p-fd38bf57.entry.js → p-9452fb56.entry.js} +1 -1
  224. package/dist/lime-crm-building-blocks/{p-41ddbdde.entry.js → p-964b066d.entry.js} +1 -1
  225. package/dist/lime-crm-building-blocks/{p-D8CJOcfs.js → p-C_y3-T4Q.js} +1 -1
  226. package/dist/lime-crm-building-blocks/p-D1RJ1y7s.js +1 -0
  227. package/dist/lime-crm-building-blocks/p-a157233b.entry.js +1 -0
  228. package/dist/lime-crm-building-blocks/{p-13a35953.entry.js → p-a4e676a6.entry.js} +1 -1
  229. package/dist/lime-crm-building-blocks/{p-b0ec4121.entry.js → p-aafead4e.entry.js} +1 -1
  230. package/dist/lime-crm-building-blocks/{p-b7e5a10e.entry.js → p-b34817df.entry.js} +1 -1
  231. package/dist/lime-crm-building-blocks/{p-8d592755.entry.js → p-c0fa239a.entry.js} +1 -1
  232. package/dist/lime-crm-building-blocks/p-c4e2dca5.entry.js +1 -0
  233. package/dist/lime-crm-building-blocks/p-cac2a49f.entry.js +1 -0
  234. package/dist/lime-crm-building-blocks/{p-d95f66c8.entry.js → p-cd7106f7.entry.js} +1 -1
  235. package/dist/lime-crm-building-blocks/{p-bde3e779.entry.js → p-d40f53a5.entry.js} +1 -1
  236. package/dist/lime-crm-building-blocks/{p-e618ccd3.entry.js → p-d78370be.entry.js} +1 -1
  237. package/dist/lime-crm-building-blocks/{p-6cdefdc9.entry.js → p-d7d21bad.entry.js} +1 -1
  238. package/dist/lime-crm-building-blocks/{p-994296b0.entry.js → p-dba6f583.entry.js} +1 -1
  239. package/dist/lime-crm-building-blocks/p-dbbc5ba7.entry.js +1 -0
  240. package/dist/lime-crm-building-blocks/{p-69a3038b.entry.js → p-dec2b87d.entry.js} +1 -1
  241. package/dist/lime-crm-building-blocks/{p-9033acb5.entry.js → p-e242b955.entry.js} +1 -1
  242. package/dist/lime-crm-building-blocks/{p-5bc41701.entry.js → p-e29c27b8.entry.js} +1 -1
  243. package/dist/lime-crm-building-blocks/{p-d7d6d21b.entry.js → p-edeb359f.entry.js} +1 -1
  244. package/dist/lime-crm-building-blocks/{p-bd0a30d7.entry.js → p-f1090436.entry.js} +1 -1
  245. package/dist/lime-crm-building-blocks/{p-0f9a680c.entry.js → p-f3cb68d6.entry.js} +1 -1
  246. package/dist/lime-crm-building-blocks/{p-558915e4.entry.js → p-f4214745.entry.js} +1 -1
  247. package/dist/lime-crm-building-blocks/{p-e2420cde.entry.js → p-fb050628.entry.js} +1 -1
  248. package/dist/types/components/filter-chip/filter-condition-icons.d.ts +8 -0
  249. package/dist/types/components/filter-chip/filter-operators.d.ts +22 -0
  250. package/dist/types/components/filter-condition-picker/filter-condition-picker.d.ts +60 -0
  251. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-comparison-editor.d.ts +8 -4
  252. package/dist/types/components/lime-query-builder/expressions/lime-query-operators.d.ts +16 -9
  253. package/dist/types/components/rule-editor/value-comparison-editor/value-comparison-editor.d.ts +7 -2
  254. package/dist/types/components.d.ts +164 -0
  255. package/dist/types/index.d.ts +1 -0
  256. package/package.json +5 -5
  257. package/dist/lime-crm-building-blocks/p-0843b50b.entry.js +0 -1
  258. package/dist/lime-crm-building-blocks/p-5b819d10.entry.js +0 -1
  259. package/dist/lime-crm-building-blocks/p-7a158104.entry.js +0 -1
  260. package/dist/lime-crm-building-blocks/p-92679e20.entry.js +0 -1
  261. package/dist/lime-crm-building-blocks/p-927e446d.entry.js +0 -1
@@ -1,26 +1,8 @@
1
- import { Operator, PlatformServiceName, } from "@limetech/lime-web-components";
1
+ import { PlatformServiceName, } from "@limetech/lime-web-components";
2
2
  import { Host, h, } from "@stencil/core";
3
+ import { operatorToCondition } from "../../filter-chip/filter-operators";
3
4
  import { getNormalizedProperties } from "../property-resolution";
4
5
  import { getActualPropertyType } from "../type-resolution";
5
- /**
6
- * Maps each query-builder comparison operator onto the shared, UI-agnostic
7
- * `FilterCondition` vocabulary. The shared `limebb-filter-chip` resolves the
8
- * icon and the wording from the condition (refined by the property type), so
9
- * the query builder shows the same glyphs and operator names as every other
10
- * filter UI.
11
- */
12
- const OPERATOR_TO_CONDITION = {
13
- [Operator.EQUALS]: 'equals',
14
- [Operator.NOT_EQUALS]: 'not-equals',
15
- [Operator.GREATER]: 'greater-than',
16
- [Operator.GREATER_OR_EQUAL]: 'greater-than-or-equal',
17
- [Operator.LESS]: 'less-than',
18
- [Operator.LESS_OR_EQUAL]: 'less-than-or-equal',
19
- [Operator.IN]: 'in-filter-set',
20
- [Operator.LIKE]: 'contains',
21
- [Operator.BEGINS]: 'begins-with',
22
- [Operator.ENDS]: 'ends-with',
23
- };
24
6
  /**
25
7
  * Lime Query Filter Comparison Component
26
8
  *
@@ -70,13 +52,14 @@ export class LimeQueryFilterComparisonComponent {
70
52
  var _a, _b;
71
53
  const hasKey = !!((_a = this.expression) === null || _a === void 0 ? void 0 : _a.key);
72
54
  const isList = Array.isArray((_b = this.expression) === null || _b === void 0 ? void 0 : _b.exp);
73
- return (h(Host, { key: '92e4a7debccbe2123c8fffe7b964ea51c5c1d586' }, this.renderHeader(), h("limel-popover", { key: '494afe14c58684826256ad275b16febd81d47d7a', open: this.isOpen, openDirection: "bottom-start", onClose: this.handleClose }, h("limebb-filter-chip", { key: '99c495cf63fc9ccc8067f7f0feb6d0d7884d3ca8', slot: "trigger", platform: this.platform, label: hasKey
55
+ const propertyType = hasKey
56
+ ? this.getPropertyType(this.expression.key)
57
+ : undefined;
58
+ return (h(Host, { key: '3e312a0124577ab70c6ab46074f7a34e0b87decc' }, this.renderHeader(), h("limel-popover", { key: '37b5e3b58ef4a20950b1f6fc24075388b4bdc932', open: this.isOpen, openDirection: "bottom-start", onClose: this.handleClose }, h("limebb-filter-chip", { key: 'd34fc11734714a8b83ef7c014fd9468522e8ffbf', slot: "trigger", platform: this.platform, label: hasKey
74
59
  ? this.getPropertyLabel(this.expression.key)
75
60
  : undefined, condition: hasKey
76
- ? OPERATOR_TO_CONDITION[this.expression.op]
77
- : undefined, propertyType: hasKey
78
- ? this.getPropertyType(this.expression.key)
79
- : undefined, value: hasKey ? this.chipValue() : 'New condition', conjunction: isList ? 'or' : undefined, selected: this.isOpen, removable: true, onClick: this.handleOpen, onRemove: this.removeExpression }), h("limebb-lime-query-filter-comparison-editor", { key: '0d56cccd56078eac4d988d757cae85897b8a48c7', platform: this.platform, context: this.context, limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression, onExpressionChange: this.handleEditorChange }))));
61
+ ? operatorToCondition(this.expression.op)
62
+ : undefined, propertyType: propertyType, value: hasKey ? this.chipValue() : 'New condition', conjunction: isList ? 'or' : undefined, selected: this.isOpen, removable: true, onClick: this.handleOpen, onRemove: this.removeExpression }), h("limebb-lime-query-filter-comparison-editor", { key: 'abaa2fbbdf8ab350f1da21412b82405d02f1546f', platform: this.platform, context: this.context, limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression, propertyType: propertyType, onExpressionChange: this.handleEditorChange }))));
80
63
  }
81
64
  getPropertyLabel(key) {
82
65
  return this.resolveProperty(key).labels.join(' › ');
@@ -90,9 +90,9 @@ export class LimeQueryFilterGroupComponent {
90
90
  const combinator = getCombinator(this.expression);
91
91
  const inner = getInnerAndOr(this.expression);
92
92
  const selected = COMBINATOR_OPTIONS.find((o) => o.value === combinator);
93
- return (h(Host, { key: 'c94790ff047e47ada5e9142af88bff0c8250e34f', "data-op": combinator, style: {
93
+ return (h(Host, { key: '6b7013b523d0313f053f5a057db99d23e5c35041', "data-op": combinator, style: {
94
94
  '--limebb-query-filter-group-color-code': OP_STYLE[combinator].color,
95
- } }, h("div", { key: '6bc8daa9b292993e2740dbc0a2f1b0a7f2df4722', class: "group" }, h("div", { key: '8a171940ef57d657c3638943108e997bb84bde21', class: "group-header" }, h("limel-select", { key: '179abcc11b79527f7b8d0863b2e8d81de5bd3267', class: "combinator", label: "Match", value: selected, options: COMBINATOR_OPTIONS, onChange: this.handleCombinatorChange }), h("limel-icon-button", { key: '3a604b24ccff02ac257d3440c82dbc33dc9f4f16', class: "delete-group", icon: "trash", label: "Delete this group", onClick: this.handleDeleteGroup })), h("ul", { key: 'f65734f8d7cc66886065a511a90108c9316d4d7b', class: "rows" }, inner.exp.map(this.renderChildExpression), h("limel-chip", { key: '252726aea61aefead90fc6ce421de9eb74288253', role: "listitem", class: "add-condition", text: "Condition", icon: { name: 'plus_math', title: 'Add' }, onClick: this.handleAddChildExpression })), h("limel-chip", { key: '2a5839a10a8b9ebb85f53d867c8870ad92ab0984', class: "add-group", size: "small", text: "Group", icon: {
95
+ } }, h("div", { key: '03bea15e4967f91d1e46a961aba64c04b1aff530', class: "group" }, h("div", { key: '26ca358c38a27e2fc24ac1b176ce338f885f2a31', class: "group-header" }, h("limel-select", { key: '46403ec7c67766ac4eb08b03eaac1eafeb92c0ff', class: "combinator", label: "Match", value: selected, options: COMBINATOR_OPTIONS, onChange: this.handleCombinatorChange }), h("limel-icon-button", { key: 'cfdb09d1656dc4a87a40c6d1cf5e5a4e0c2aeba0', class: "delete-group", icon: "trash", label: "Delete this group", onClick: this.handleDeleteGroup })), h("ul", { key: '55bb718c9ece64898a41bf95ff301bbeade8a4cd', class: "rows" }, inner.exp.map(this.renderChildExpression), h("limel-chip", { key: '34c653a547ce2406938eece661c5d468c84871f3', role: "listitem", class: "add-condition", text: "Condition", icon: { name: 'plus_math', title: 'Add' }, onClick: this.handleAddChildExpression })), h("limel-chip", { key: 'b27939aced4774b9b738e81d07a7ed4b040f3b77', class: "add-group", size: "small", text: "Group", icon: {
96
96
  name: 'plus_math',
97
97
  title: 'Add',
98
98
  color: 'var(--group-rail-color)',
@@ -35,7 +35,7 @@ export class LimeQueryFilterNotComponent {
35
35
  };
36
36
  }
37
37
  render() {
38
- return (h("div", { key: '73fa671599ac9f124797567f49af67941dd30e36', class: "expression" }, this.label && h("limel-header", { key: '959feb78614f0088b9946ccb492f32900a410ff8', heading: this.label }), h("limebb-lime-query-filter-expression", { key: '78ce884774a3831c18ad329fb1eacc4e54cd3623', platform: this.platform, context: this.context, label: "Not", limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression.exp, onExpressionChange: this.handleExpressionChange })));
38
+ return (h("div", { key: '38ddcfda3b05cd9bc0c510f55d2712472ee2886f', class: "expression" }, this.label && h("limel-header", { key: '5b05cbb7bbd7fb1940c0d7c27b4578f6551833a8', heading: this.label }), h("limebb-lime-query-filter-expression", { key: '4057437167e652f31aa02148e511cfe9a9b26ccb', platform: this.platform, context: this.context, label: "Not", limetype: this.limetype, activeLimetype: this.activeLimetype, expression: this.expression.exp, onExpressionChange: this.handleExpressionChange })));
39
39
  }
40
40
  static get is() { return "limebb-lime-query-filter-not"; }
41
41
  static get encapsulation() { return "shadow"; }
@@ -1,60 +1,26 @@
1
1
  import { Operator, } from "@limetech/lime-web-components";
2
+ import { operatorsToConditions } from "../../filter-chip/filter-operators";
3
+ /**
4
+ * The comparison operators the query builder can author, in the order the
5
+ * condition picker lists them. This is the query builder's capability — which
6
+ * operators it can serialize — not a per-property-type catalog. The
7
+ * operator↔condition translation lives in the shared `filter-operators` helpers.
8
+ */
2
9
  export const LIME_QUERY_OPERATORS = [
3
- {
4
- value: Operator.EQUALS,
5
- label: 'webclient.operator.equals',
6
- icon: '-lime-filter-equal',
7
- },
8
- {
9
- value: Operator.NOT_EQUALS,
10
- label: 'webclient.operator.not-equals',
11
- icon: '-lime-filter-equal-not',
12
- },
13
- {
14
- value: Operator.GREATER,
15
- label: 'webclient.operator.greater-than',
16
- icon: '-lime-filter-greater',
17
- applicableTypes: ['integer', 'decimal', 'date', 'time'],
18
- },
19
- {
20
- value: Operator.GREATER_OR_EQUAL,
21
- label: 'webclient.operator.greater-than-or-equal-to',
22
- icon: '-lime-filter-greater-equal',
23
- applicableTypes: ['integer', 'decimal', 'date', 'time'],
24
- },
25
- {
26
- value: Operator.LESS,
27
- label: 'webclient.operator.less-than',
28
- icon: '-lime-filter-less',
29
- applicableTypes: ['integer', 'decimal', 'date', 'time'],
30
- },
31
- {
32
- value: Operator.LESS_OR_EQUAL,
33
- label: 'webclient.operator.less-than-or-equal-to',
34
- icon: '-lime-filter-less-equal',
35
- applicableTypes: ['integer', 'decimal', 'date', 'time'],
36
- },
37
- {
38
- value: Operator.IN,
39
- label: 'webclient.operator.in-filter',
40
- icon: '-lime-filter-set-included',
41
- },
42
- {
43
- value: Operator.LIKE,
44
- label: 'webclient.operator.contains',
45
- icon: '-lime-filter-contain',
46
- applicableTypes: ['string', 'text'],
47
- },
48
- {
49
- value: Operator.BEGINS,
50
- label: 'webclient.operator.begins-with',
51
- icon: '-lime-filter-starts-with',
52
- applicableTypes: ['string', 'text'],
53
- },
54
- {
55
- value: Operator.ENDS,
56
- label: 'webclient.operator.ends-with',
57
- icon: '-lime-filter-ends-with',
58
- applicableTypes: ['string', 'text'],
59
- },
10
+ Operator.EQUALS,
11
+ Operator.NOT_EQUALS,
12
+ Operator.GREATER,
13
+ Operator.GREATER_OR_EQUAL,
14
+ Operator.LESS,
15
+ Operator.LESS_OR_EQUAL,
16
+ Operator.IN,
17
+ Operator.LIKE,
18
+ Operator.BEGINS,
19
+ Operator.ENDS,
60
20
  ];
21
+ /**
22
+ * The conditions the query builder offers, in display order — handed to the
23
+ * `limebb-filter-condition-picker` as its `conditions` list. Derived from
24
+ * {@link LIME_QUERY_OPERATORS} so the two never drift.
25
+ */
26
+ export const LIME_QUERY_CONDITIONS = operatorsToConditions(LIME_QUERY_OPERATORS);
@@ -172,7 +172,7 @@ export class LimeQueryBuilder {
172
172
  }
173
173
  }
174
174
  render() {
175
- return (h(Host, { key: 'fbecd3d9b61ea135192a2dc7a4c1e9c22835331b' }, this.renderHeader(), this.renderContent()));
175
+ return (h(Host, { key: 'd03160151a6467401424351f0bf7d05211800bf0' }, this.renderHeader(), this.renderContent()));
176
176
  }
177
177
  renderContent() {
178
178
  const visualModeSupported = this.checkVisualModeSupport();
@@ -154,7 +154,7 @@ export class LimeQueryResponseFormatBuilder {
154
154
  }
155
155
  render() {
156
156
  const visualModeSupported = this.checkVisualModeSupport();
157
- return (h("div", { key: '649472c75a9f8e905a450f90246dda96b5cb1967', class: "response-format-builder" }, this.label && h("h1", { key: '23ac72af641ecdc9da2dd8eab87c69c98b1b743c', class: "builder-label" }, this.label), this.helperText && (h("p", { key: 'f575c5c0e62f9964f5ac7ac9eaa45eb59e8bf51d', class: "builder-helper-text" }, this.helperText)), this.visualModeEnabled && (h("div", { key: 'ac2710467d1f2c1a92fab3366263ea3d56bef5aa', class: "mode-controls" }, this.renderModeSwitch(visualModeSupported))), !this.visualModeEnabled || this.mode === 'code' ? (h("div", { class: "code-mode" }, this.renderCodeEditor(visualModeSupported))) : (h("div", { class: "visual-mode" }, this.renderVisualMode()))));
157
+ return (h("div", { key: 'f8edf793b05904933998d41dff2680737671754b', class: "response-format-builder" }, this.label && h("h1", { key: '2e6aaf2a0b9fa285920ba71fdc7ef50a1967948b', class: "builder-label" }, this.label), this.helperText && (h("p", { key: '99528513c236f945e8584cb30cc9880eaf049d2d', class: "builder-helper-text" }, this.helperText)), this.visualModeEnabled && (h("div", { key: 'afdb567755d27858daab5490bf22b5c349d4fa0e', class: "mode-controls" }, this.renderModeSwitch(visualModeSupported))), !this.visualModeEnabled || this.mode === 'code' ? (h("div", { class: "code-mode" }, this.renderCodeEditor(visualModeSupported))) : (h("div", { class: "visual-mode" }, this.renderVisualMode()))));
158
158
  }
159
159
  renderModeSwitch(support) {
160
160
  const visualDisabled = !support.visualModeSupported;
@@ -78,7 +78,7 @@ export class LimetypeField {
78
78
  value: '',
79
79
  };
80
80
  options.unshift(emptyOption);
81
- return (h("limel-select", { key: '412e4360e37481f5e5e42eb6018a78350bcde4ae', label: this.label, options: options, value: selectedOption, required: this.required, helperText: this.helperText, invalid: invalid, disabled: this.disabled || this.readonly, onChange: this.handleChange }));
81
+ return (h("limel-select", { key: '4c17fbdd5760fcb83fef57f7204df42c91f70f7f', label: this.label, options: options, value: selectedOption, required: this.required, helperText: this.helperText, invalid: invalid, disabled: this.disabled || this.readonly, onChange: this.handleChange }));
82
82
  }
83
83
  componentWillRender() {
84
84
  this.updatePropertyFields(this.value || '');
@@ -69,7 +69,7 @@ export class OrderByEditor {
69
69
  }
70
70
  }
71
71
  render() {
72
- return (h(Host, { key: 'ce933b9c6df59149fa40d26f7e38bdce89208df0' }, this.renderEmptyState(), this.renderOrderByEditor()));
72
+ return (h(Host, { key: '5eaad5237f6ccce6d93610bf4987cce10c06abaf' }, this.renderEmptyState(), this.renderOrderByEditor()));
73
73
  }
74
74
  renderEmptyState() {
75
75
  if (this.limetype) {
@@ -38,9 +38,9 @@ export class OrderByItemComponent {
38
38
  render() {
39
39
  const propertyPath = Object.keys(this.item)[0] || '';
40
40
  const direction = this.item[propertyPath] || 'ASC';
41
- return (h(Host, { key: 'd5d6e8ff87d1afa4d5edbf593455bf43834b29ec' }, h("limebb-property-selector", { key: '92ceae9018edf1b6d073645414dd7b8f094a833d', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: propertyPath, required: true, onChange: this.handlePathChange }), h("div", { key: 'f2a3eb4b19a8ea762928dfb8e61e47d60204ad53', class: "control-buttons" }, h("limel-icon-button", { key: '310fc4eaf3645dd185670409cb83dc4b96d234d4', icon: direction === 'ASC'
41
+ return (h(Host, { key: 'fc238e47f9189531ac39969dcabfefaa41602a4b' }, h("limebb-property-selector", { key: '02ed1accd1f1febc05f300a72734150ef415cad8', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: propertyPath, required: true, onChange: this.handlePathChange }), h("div", { key: 'd994587df98e632f12b489b732d3d7436860dac7', class: "control-buttons" }, h("limel-icon-button", { key: 'aeca1aceb371f3bf6c392a8e0ce903905d929c33', icon: direction === 'ASC'
42
42
  ? 'sort_ascending'
43
- : 'sort_descending', label: direction === 'ASC' ? 'Ascending' : 'Descending', onClick: this.handleToggleDirection }), h("limel-icon-button", { key: 'e4b65c9ad1df1f9ff92bf7079d2871f0958d7b10', icon: "trash", label: "Remove", onClick: this.handleRemove }))));
43
+ : 'sort_descending', label: direction === 'ASC' ? 'Ascending' : 'Descending', onClick: this.handleToggleDirection }), h("limel-icon-button", { key: '389a10fe59b9b06e6b9251a8bee5a1a06dbf1961', icon: "trash", label: "Remove", onClick: this.handleRemove }))));
44
44
  }
45
45
  static get is() { return "limebb-lime-query-order-by-item"; }
46
46
  static get encapsulation() { return "shadow"; }
@@ -66,7 +66,7 @@ export class ResponseFormatItem {
66
66
  }
67
67
  render() {
68
68
  return [
69
- h("div", { key: '1b848d424ba2e13afe06deb80e3344257fbc44e2', class: "property-controls" }, h("div", { key: 'd6b4217961f610f2d4e96cb1c33544e44d4a3a36', class: "property-path" }, h("limebb-property-selector", { key: 'ec7e294945d9974ee0d5159c678cc7d94dc082af', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: this.item.path, required: true, onChange: this.handlePathChange }), h("div", { key: '8aabbbf8548d9abbb930b5aaad6b8d476fc261b1', class: "input-grid" }, this.renderAliasInput()), h("div", { key: 'fa1b078c6b5a1c2d80ecc6bf5114af8f6d8ba12f', class: "input-grid" }, this.renderDescriptionInput()), h("div", { key: '49c482d4b60ae15afac30b67af4ab01d02b9c1e9', class: "button-group" }, this.renderAliasButton(), this.renderDescriptionButton())), h("limel-icon-button", { key: 'e7123ea4974c2928b8b5977595595f77e2271b1a', icon: "trash", label: "Remove property", onClick: this.handleRemove })),
69
+ h("div", { key: '3e3956bb95dc04ffa6bac42f242b81ccc876d100', class: "property-controls" }, h("div", { key: '65591fe8a50e6e80fa3c40c7fb5b9a53b13b8a55', class: "property-path" }, h("limebb-property-selector", { key: 'd41140ae568023f30e7047d3dcbc70a53a7503a4', platform: this.platform, context: this.context, limetype: this.limetype, label: "Property", value: this.item.path, required: true, onChange: this.handlePathChange }), h("div", { key: 'e8bd2fd1c560c6f67ae99bafd3832d9199b1f939', class: "input-grid" }, this.renderAliasInput()), h("div", { key: '5b61d939884ef26c0e83d70c22c7d42635d26aa0', class: "input-grid" }, this.renderDescriptionInput()), h("div", { key: '19dc494a85c9df10b8953380b9f3eb3dda7050ce', class: "button-group" }, this.renderAliasButton(), this.renderDescriptionButton())), h("limel-icon-button", { key: 'da3b889129de1e1dba5bf431b68edb5b786dfee6', icon: "trash", label: "Remove property", onClick: this.handleRemove })),
70
70
  ];
71
71
  }
72
72
  renderAliasButton() {
@@ -5,8 +5,8 @@ import { h } from "@stencil/core";
5
5
  export class LiveDocsInfo {
6
6
  render() {
7
7
  return [
8
- h("div", { key: '59e539b27d23e3e18806704e8fe2264bc7da1375', class: "header" }, h("limel-icon", { key: '2b6d28bedbc16cd7665b1a250b634ed608d494a5', name: "not_showing_video_frames" }), h("h2", { key: '9ae03ca947c6cadd3754dbf13cd971af1b922fa6' }, "Viewing this file type requires ", h("em", { key: '08fecec0c0fe0ffae4dee5c3268897920c090f48' }, "Live Docs"))),
9
- h("p", { key: '7ec4f32f2523ca39518ecce705bcdffa17e73fe3' }, h("em", { key: '4569da9a16c5be8171d01df9620e9adae19eac43' }, "Live Docs"), " not only enables you to view many file formats such as Microsoft Office documents, but it also empowers you to edit them right in the CRM. No need to download anything on your device!", h("a", { key: '829b8bd8be2751607146797f83b8c220db68f1c2', target: "_blank", href: "https://www.lime-technologies.com/en/lime-crm/live-docs/" }, "Learn more")),
8
+ h("div", { key: '6cca6e4ef0c666b5e8b98f3520e610dd22f0e1e6', class: "header" }, h("limel-icon", { key: 'a5fcd50b843f593695fdb0d58ff676be2f381f98', name: "not_showing_video_frames" }), h("h2", { key: 'fa42a948053ef5cf2d100054300e788097f0f46d' }, "Viewing this file type requires ", h("em", { key: '3319e03d3747ef71f16aa63fa94a9640142bc08c' }, "Live Docs"))),
9
+ h("p", { key: 'a9aaf3ecc5a63eb37c2242d38b0138b36cb9e4d7' }, h("em", { key: 'be00747c7b6692b534446cbcd2d8e935a08f6558' }, "Live Docs"), " not only enables you to view many file formats such as Microsoft Office documents, but it also empowers you to edit them right in the CRM. No need to download anything on your device!", h("a", { key: '25535725cb312328f40b8d39a165ae43bf00980d', target: "_blank", href: "https://www.lime-technologies.com/en/lime-crm/live-docs/" }, "Learn more")),
10
10
  ];
11
11
  }
12
12
  static get is() { return "limebb-live-docs-info"; }
@@ -53,7 +53,7 @@ export class LocalePicker {
53
53
  const value = this.value;
54
54
  selectedOptions = options.find((option) => option.value === value);
55
55
  }
56
- return (h("limel-select", { key: '36c73b129d7750a035ec241c412a6c2447e23bd4', value: selectedOptions, options: sortBy(options, 'text'), helperText: this.helperText, label: this.label, required: this.required, disabled: this.disabled, readonly: this.readonly, onChange: this.handleChange, multiple: this.multipleChoice }));
56
+ return (h("limel-select", { key: 'cb38c95a546757f47d376def9d3cf2f5d8176cf9', value: selectedOptions, options: sortBy(options, 'text'), helperText: this.helperText, label: this.label, required: this.required, disabled: this.disabled, readonly: this.readonly, onChange: this.handleChange, multiple: this.multipleChoice }));
57
57
  }
58
58
  static get is() { return "limebb-locale-picker"; }
59
59
  static get encapsulation() { return "shadow"; }
@@ -56,7 +56,7 @@ export class NotificationListItem {
56
56
  }
57
57
  render() {
58
58
  var _a, _b;
59
- return (h(Host, { key: '466bd6547e34e2176054e4abe4354377ea02c316', id: this.item.id, class: {
59
+ return (h(Host, { key: '478562eb1347b383b23e73f28f0143fceec96b7a', id: this.item.id, class: {
60
60
  'is-clickable': this.isItemClickable(),
61
61
  'is-read': !!((_a = this.item) === null || _a === void 0 ? void 0 : _a.read),
62
62
  'is-selected': !!((_b = this.item) === null || _b === void 0 ? void 0 : _b.selected),
@@ -108,11 +108,11 @@ export class PercentageVisualizer {
108
108
  render() {
109
109
  const normalizedValue = this.getNormalizedValue();
110
110
  const zeroPoint = this.getZeroPointPosition();
111
- return (h(Host, { key: '28577ee369379142fa8eb6cf5acc6956475451ec', class: this.getContainerClassList(), style: {
111
+ return (h(Host, { key: '235b934d22f3b44c3cd1f15be75080e797367c8c', class: this.getContainerClassList(), style: {
112
112
  '--limebb-percentage-visualizer-zero-point-position': `${zeroPoint}%`,
113
113
  '--limebb-percentage-visualizer-width': `${Math.abs(normalizedValue)}%`,
114
114
  '--limebb-percentage-visualizer-rotate': `${normalizedValue >= 0 ? '0deg' : '180deg'}`,
115
- } }, h("limel-notched-outline", { key: '1f47e875b69a06ddc10528916f004ffcdb23b65b', tabIndex: 0, role: "meter", "aria-valuemin": this.rangeMin, "aria-valuemax": this.rangeMax, "aria-valuenow": this.numValue, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-controls": this.helperTextId }, h("div", { key: 'd3a0d2bc17bbe9b6c26789118f0f679bda356c63', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
115
+ } }, h("limel-notched-outline", { key: '29e9cb044645d10cc1892f72a032f9484726caff', tabIndex: 0, role: "meter", "aria-valuemin": this.rangeMin, "aria-valuemax": this.rangeMax, "aria-valuenow": this.numValue, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-controls": this.helperTextId }, h("div", { key: '917a08e65845ec178c8cefbcfc4bb202b3b7fca0', slot: "content" }, this.renderVisualization())), this.renderHelperLine()));
116
116
  }
117
117
  renderVisualization() {
118
118
  if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {
@@ -45,7 +45,7 @@ export class RuleChipPopover {
45
45
  };
46
46
  }
47
47
  render() {
48
- return (h("div", { key: '1b3a5fc8fc65f577b082cb368d92a99cfc68806a', class: "popover" }, this.renderHeader(), this.renderBody()));
48
+ return (h("div", { key: 'abb754c8d327cc82b5d4e7e44154e937c3aeb0d2', class: "popover" }, this.renderHeader(), this.renderBody()));
49
49
  }
50
50
  renderHeader() {
51
51
  var _a, _b, _c, _d;
@@ -126,7 +126,7 @@ export class RuleEditor {
126
126
  'rule-editor': true,
127
127
  'rule-editor--disabled': this.disabled,
128
128
  };
129
- return (h("div", { key: '983f8e733e177da750191a88e3c176166932f7e0', class: containerClasses }, this.renderLabel(), h(RuleNodeView, { key: '48be41683418ead2b1f2283615b559cfcabbfa98', node: this.normalizedValue, path: [], ctx: this.createRenderContext() }), this.renderHelperText()));
129
+ return (h("div", { key: 'abe9c739c5fbd0749a593187fd36953482530aeb', class: containerClasses }, this.renderLabel(), h(RuleNodeView, { key: 'ba99e8de897dec3825fb74f78d42b3f503ead775', node: this.normalizedValue, path: [], ctx: this.createRenderContext() }), this.renderHelperText()));
130
130
  }
131
131
  renderLabel() {
132
132
  if (!this.label) {
@@ -1,5 +1,6 @@
1
1
  import { h, } from "@stencil/core";
2
- import { Operator } from "@limetech/lime-web-components";
2
+ import { Operator, } from "@limetech/lime-web-components";
3
+ import { conditionToOperator, operatorsToConditions, operatorToCondition, } from "../../filter-chip/filter-operators";
3
4
  const TYPE_OPTIONS = [
4
5
  { value: 'string', text: 'Text' },
5
6
  { value: 'number', text: 'Number' },
@@ -7,14 +8,31 @@ const TYPE_OPTIONS = [
7
8
  { value: 'datetime', text: 'Date & time' },
8
9
  { value: 'time', text: 'Time' },
9
10
  ];
10
- const OPERATOR_OPTIONS = [
11
- { value: Operator.EQUALS, text: 'Equals' },
12
- { value: Operator.NOT_EQUALS, text: 'Does not equal' },
13
- { value: Operator.LESS, text: 'Less than' },
14
- { value: Operator.LESS_OR_EQUAL, text: 'Less than or equal to' },
15
- { value: Operator.GREATER, text: 'Greater than' },
16
- { value: Operator.GREATER_OR_EQUAL, text: 'Greater than or equal to' },
11
+ /**
12
+ * The comparison operators this editor offers, in display order — the
13
+ * value-comparison primitive's capability. The operator↔condition translation
14
+ * lives in the shared `filter-operators` helpers.
15
+ */
16
+ const COMPARISON_OPERATORS = [
17
+ Operator.EQUALS,
18
+ Operator.NOT_EQUALS,
19
+ Operator.LESS,
20
+ Operator.LESS_OR_EQUAL,
21
+ Operator.GREATER,
22
+ Operator.GREATER_OR_EQUAL,
17
23
  ];
24
+ const COMPARISON_CONDITIONS = operatorsToConditions(COMPARISON_OPERATORS);
25
+ /**
26
+ * Maps the editor's comparison type onto a property type so the condition
27
+ * picker resolves the type-specific wording (e.g. "After"/"On" for dates).
28
+ */
29
+ const PROPERTY_TYPE_BY_VALUE_TYPE = {
30
+ string: 'string',
31
+ number: 'integer',
32
+ date: 'date',
33
+ datetime: 'date',
34
+ time: 'time',
35
+ };
18
36
  const RELATIVE_OFFSET_KEY = '__relative_offset__';
19
37
  const SPECIFIC_KEY = '__specific__';
20
38
  const FIXED_TOKEN_OPTIONS = [
@@ -71,33 +89,24 @@ export class ValueComparisonEditor {
71
89
  var _a, _b;
72
90
  event.stopPropagation();
73
91
  this.resetOperandState();
74
- this.emit(this.value.operator, undefined, (_b = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 'string');
92
+ this.emit(this.currentOperator, undefined, (_b = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : 'string');
75
93
  };
76
- this.handleOperatorChange = (event) => {
77
- var _a;
94
+ this.handleConditionChange = (event) => {
78
95
  event.stopPropagation();
79
- const operator = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.value;
96
+ const operator = conditionToOperator(event.detail);
80
97
  if (!operator) {
81
- this.emit(undefined, undefined);
82
98
  return;
83
99
  }
84
100
  this.emit(operator, this.value.operand);
85
101
  };
86
102
  this.handleScalarOperandChange = (event) => {
87
103
  event.stopPropagation();
88
- const operator = this.value.operator;
89
- if (!operator) {
90
- return;
91
- }
92
- this.emit(operator, this.parseScalarOperand(event.detail));
104
+ this.emit(this.currentOperator, this.parseScalarOperand(event.detail));
93
105
  };
94
106
  this.handleOperandKeyChange = (event) => {
95
107
  var _a;
96
108
  event.stopPropagation();
97
- const operator = this.value.operator;
98
- if (!operator) {
99
- return;
100
- }
109
+ const operator = this.currentOperator;
101
110
  const key = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.value;
102
111
  this.operandKey = key;
103
112
  if (key === RELATIVE_OFFSET_KEY) {
@@ -143,10 +152,7 @@ export class ValueComparisonEditor {
143
152
  };
144
153
  this.handleSpecificDateChange = (event) => {
145
154
  event.stopPropagation();
146
- const operator = this.value.operator;
147
- if (!operator) {
148
- return;
149
- }
155
+ const operator = this.currentOperator;
150
156
  const date = event.detail instanceof Date ? event.detail : undefined;
151
157
  this.specificDate = date;
152
158
  this.emit(operator, date ? this.formatSpecific(date) : undefined);
@@ -162,15 +168,15 @@ export class ValueComparisonEditor {
162
168
  var _a;
163
169
  return (_a = this.value.valueType) !== null && _a !== void 0 ? _a : 'string';
164
170
  }
171
+ get currentOperator() {
172
+ var _a;
173
+ return (_a = this.value.operator) !== null && _a !== void 0 ? _a : COMPARISON_OPERATORS[0];
174
+ }
165
175
  render() {
166
176
  const selectedType = TYPE_OPTIONS.find((option) => option.value === this.valueType);
167
- const selectedOperator = OPERATOR_OPTIONS.find((option) => option.value === this.value.operator);
168
- return (h("div", { key: '9c6e6b6f160fb05bd4a242a207d16b8420ff41df', class: "rule" }, h("limel-select", { key: '703815442cf66522e406223da8ec738eca3d17ff', class: "type-select", label: "Compare as", options: TYPE_OPTIONS, value: selectedType, onChange: this.handleTypeChange }), h("limel-select", { key: '371b67efd26c2519ad2dc2a826a8a28d4b17a659', class: "operator-select", label: "When the value", options: OPERATOR_OPTIONS, value: selectedOperator, onChange: this.handleOperatorChange }), this.renderOperand()));
177
+ return (h("div", { key: 'ad1ae4fae21a213a2364a8b07db2ed157bf75419', class: "rule" }, h("limel-select", { key: 'e8dfb3d4499344b7f22b8cea5c40b59f4d15e21f', class: "type-select", label: "Compare as", options: TYPE_OPTIONS, value: selectedType, onChange: this.handleTypeChange }), h("limebb-filter-condition-picker", { key: '777d5eece2263568bf46c4a5348befeec0fe2035', class: "operator-select", platform: this.platform, propertyType: PROPERTY_TYPE_BY_VALUE_TYPE[this.valueType], conditions: COMPARISON_CONDITIONS, value: operatorToCondition(this.currentOperator), onChange: this.handleConditionChange }), this.renderOperand()));
169
178
  }
170
179
  renderOperand() {
171
- if (!this.value.operator) {
172
- return null;
173
- }
174
180
  if (TEMPORAL_TYPES.has(this.valueType)) {
175
181
  return this.renderTemporalOperand();
176
182
  }
@@ -228,11 +234,7 @@ export class ValueComparisonEditor {
228
234
  return (h("limel-date-picker", { key: "specific-picker", class: "operand-picker", label: "Compared with", type: this.valueType, value: this.specificDate, onChange: this.handleSpecificDateChange }));
229
235
  }
230
236
  emitRelativeOffset() {
231
- const operator = this.value.operator;
232
- if (!operator) {
233
- return;
234
- }
235
- this.emit(operator, this.relativeOffsetToken());
237
+ this.emit(this.currentOperator, this.relativeOffsetToken());
236
238
  }
237
239
  relativeOffsetToken() {
238
240
  return `$${this.direction}_${this.unit}(${this.count})`;
@@ -360,6 +362,30 @@ export class ValueComparisonEditor {
360
362
  "getter": false,
361
363
  "setter": false,
362
364
  "defaultValue": "{}"
365
+ },
366
+ "platform": {
367
+ "type": "unknown",
368
+ "mutable": false,
369
+ "complexType": {
370
+ "original": "LimeWebComponentPlatform",
371
+ "resolved": "LimeWebComponentPlatform | undefined",
372
+ "references": {
373
+ "LimeWebComponentPlatform": {
374
+ "location": "import",
375
+ "path": "@limetech/lime-web-components",
376
+ "id": "node_modules::LimeWebComponentPlatform",
377
+ "referenceLocation": "LimeWebComponentPlatform"
378
+ }
379
+ }
380
+ },
381
+ "required": false,
382
+ "optional": true,
383
+ "docs": {
384
+ "tags": [],
385
+ "text": "Platform service provider"
386
+ },
387
+ "getter": false,
388
+ "setter": false
363
389
  }
364
390
  };
365
391
  }
@@ -33,7 +33,7 @@ export class RuleGate {
33
33
  this.evaluate();
34
34
  }
35
35
  render() {
36
- return (h(Host, { key: '1aebc90e382bed53ff293634f4aa37cbc5b1f9d0', hidden: !this.shouldRender }, h("slot", { key: 'f28d6bc819101c43c980b80b4467dcb0d15292fa' })));
36
+ return (h(Host, { key: 'ce41c51b7f8b049d7d89374ef0c452b2e961aa23', hidden: !this.shouldRender }, h("slot", { key: 'ad04db83bceca78bf7bb2eb7b7b2dae018025319' })));
37
37
  }
38
38
  get ruleRegistry() {
39
39
  return this.platform.get(PlatformServiceName.RuleRegistry);
@@ -128,9 +128,9 @@ export class SummaryPopover {
128
128
  top: '0.125rem',
129
129
  right: '0.125rem',
130
130
  };
131
- return (h("limel-popover", { key: '3dac27c083b2d950d473e5f0f686cd19278eb0a0', style: {
131
+ return (h("limel-popover", { key: '0eebed7c2685d3d162d8987bca7f3ce3acd38a62', style: {
132
132
  '--limebb-summary-popover-timeout': `${this.triggerDelay}ms`,
133
- }, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("div", { key: 'acc7cc0472a6af2b53b38915111a7c4a8c5e20a1', slot: "trigger", onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocusin: this.openPopoverWithDelay }, h("slot", { key: 'd6bdbf59b1d39793484de55dcfb2e43d890468bf', name: "trigger" }), h("div", { key: 'dc462c2b1b787de54b22aed6ca51cac245df3c09', class: "opening-countdown-indicator" })), this.renderCard(closeButtonStyle)));
133
+ }, open: this.isPopoverOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("div", { key: 'df2242c223d4b6a2a61e822f63f50757ebfa16c4', slot: "trigger", onMouseEnter: this.openPopoverWithDelay, onMouseLeave: this.resetTimeout, onFocusin: this.openPopoverWithDelay }, h("slot", { key: '8f0bfcc7295cf604a4d395bc535cd4cf72069ecd', name: "trigger" }), h("div", { key: '804bb712139d21944fb5ce8e1fbb918115ba3dd8', class: "opening-countdown-indicator" })), this.renderCard(closeButtonStyle)));
134
134
  }
135
135
  renderCard(closeButtonStyle) {
136
136
  return (h("limel-card", { style: {
@@ -13,8 +13,8 @@ export class MentionGroupCounter {
13
13
  render() {
14
14
  const label = this.getLabel();
15
15
  return [
16
- h("span", { key: '638df46fb134015d8f9402830580d36dc759bcd1', id: this.tooltipId }, label),
17
- h("limel-tooltip", { key: 'bdd49e3025be834b9d808473d456341a50d6f50d', elementId: this.tooltipId, label: label, helperLabel: this.helperLabel }),
16
+ h("span", { key: 'b6e816b8efd22fdaff81f6669d11ab8efae9e05e', id: this.tooltipId }, label),
17
+ h("limel-tooltip", { key: '62294172fabc48ad688b14ae75fe43d142ac0cb7', elementId: this.tooltipId, label: label, helperLabel: this.helperLabel }),
18
18
  ];
19
19
  }
20
20
  getLabel() {
@@ -391,7 +391,7 @@ export class LimeBBTextEditor {
391
391
  }
392
392
  render() {
393
393
  return [
394
- h("limel-text-editor", { key: '0f1423f13a517aaeea8efbacab475a37e38aa857', ref: (el) => (this.textEditor = el), tabindex: this.disabled ? -1 : 0, value: this.value, contentType: this.contentType, customElements: this.registeredCustomElements, "aria-disabled": this.disabled, language: this.language, triggers: this.registeredTriggers, onTriggerStart: this.handleTriggerStart, onTriggerStop: this.handleTriggerStop, onTriggerChange: this.handleTriggerChange, onImagePasted: this.handleImagePasted, onMetadataChange: this.handleMetadataChange, ui: this.ui, allowResize: this.allowResize, required: this.required, disabled: this.disabled, readonly: this.readonly, helperText: this.helperText, placeholder: this.placeholder, label: this.label, invalid: this.invalid }),
394
+ h("limel-text-editor", { key: '0f637527386d51f5b5c3e3a49b42acebafcba3fd', ref: (el) => (this.textEditor = el), tabindex: this.disabled ? -1 : 0, value: this.value, contentType: this.contentType, customElements: this.registeredCustomElements, "aria-disabled": this.disabled, language: this.language, triggers: this.registeredTriggers, onTriggerStart: this.handleTriggerStart, onTriggerStop: this.handleTriggerStop, onTriggerChange: this.handleTriggerChange, onImagePasted: this.handleImagePasted, onMetadataChange: this.handleMetadataChange, ui: this.ui, allowResize: this.allowResize, required: this.required, disabled: this.disabled, readonly: this.readonly, helperText: this.helperText, placeholder: this.placeholder, label: this.label, invalid: this.invalid }),
395
395
  this.renderPicker(),
396
396
  ];
397
397
  }
@@ -69,7 +69,7 @@ export class TrendIndicator {
69
69
  this.numValue = this.parseValue(this.value);
70
70
  }
71
71
  render() {
72
- return (h(Host, { key: 'fbf631c6889091e9efe5790397b26f804d27d93b', class: this.getContainerClassList() }, h("limel-notched-outline", { key: '832d2d338bf86da41b0a19a813f0dc7e3b3eb8c9', id: this.tooltipId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, "aria-controls": this.helperTextId }, h("div", { key: 'b3266118df54e2c3a4d7729f0e36d7c7e1fbc13c', slot: "content", tabIndex: 0 }, this.renderVisualization())), this.renderHelperLine(), this.renderTooltip()));
72
+ return (h(Host, { key: 'b963d9086b70b11dce31375284e54574f54b4f0c', class: this.getContainerClassList() }, h("limel-notched-outline", { key: 'd2d2587a0239cba584177dbc1806762e9d783460', id: this.tooltipId, label: this.label, labelId: this.labelId, invalid: this.invalid, required: this.required, hasValue: true, hasFloatingLabel: true, "aria-labelledby": this.labelId, "aria-describedby": this.helperTextId, "aria-controls": this.helperTextId }, h("div", { key: '8e7b6c37d803c5c682220681e93c3a096d4e02d2', slot: "content", tabIndex: 0 }, this.renderVisualization())), this.renderHelperLine(), this.renderTooltip()));
73
73
  }
74
74
  renderVisualization() {
75
75
  if (this.reducePresence && (this.numValue === 0 || !this.hasValue())) {
@@ -4,4 +4,5 @@ export * from './factories';
4
4
  export * from './util/color-palettes';
5
5
  export * from './components/filter-chip/filter-chip.types';
6
6
  export * from './components/filter-chip/filter-condition-icons';
7
+ export * from './components/filter-chip/filter-operators';
7
8
  import "@lundalogik/lime-icons8";
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as i,h as n,Host as o,transformTag as t}from"@stencil/core/internal/client";const r=e(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow()}render(){return n(o,{key:"37f41429c85d430370847b6ba08927757d97868f",id:this.item.id},this.renderLabel(),n("div",{key:"958ef591606e10f95e43f4968110cb785f022dc7",class:"icons"},this.item.icons.map(((e,i)=>this.renderIcon(e,i)))))}renderLabel(){if(this.item.label)return n("span",{class:"label"},this.item.label)}renderIcon(e,i){const o=`icon-${this.item.id}-${i}`;return[n("limel-icon",{tabIndex:0,key:i,id:o,badge:!0,name:e.name,class:{"is-pending":!!e.pending,"is-clickable":!!e.onClick},style:{color:e.color,"background-color":e.backgroundColor},onClick:e.onClick}),this.renderTooltip(e,o)]}renderTooltip(e,i){if(e.title)return n("limel-tooltip",{label:e.title,elementId:i})}static get style(){return'@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}:host(limebb-chat-icon-list){display:flex;align-items:center;gap:0.5rem;margin-right:auto;max-width:calc(100% - 2rem);padding:0 0.25rem}.label{font-size:0.75rem;color:rgb(var(--contrast-900))}.icons{display:flex;align-items:center;gap:0.25rem}.icons:hover limel-icon,.icons:focus-within limel-icon{margin-left:0 !important}limel-icon{--icon-background-color:rgb(var(--contrast-500), 0.5)}limel-icon.is-clickable{cursor:pointer}limel-icon:focus{outline:none}limel-icon:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}limel-icon{transition:margin-left 0.2s cubic-bezier(0.075, 0.82, 0.165, 1), opacity 0.2s ease, box-shadow 0.2s ease;position:relative;width:1.75rem;padding:0.375rem;flex-shrink:0}limel-icon:not(.is-pending):not(:first-child){margin-left:-0.75rem}limel-icon.is-pending{animation:pending 3s linear infinite;padding:0.5rem}limel-icon.is-pending:after{content:"";position:absolute;inset:0;width:1.75rem;height:1.75rem;border-radius:50%;pointer-events:none;border-radius:50%;border:0.125rem solid rgb(var(--color-white), 0.5);border-top-color:rgb(var(--color-black), 0.8);mix-blend-mode:color-dodge;animation:spin 1s cubic-bezier(0.4, 0, 0.2, 1) infinite}@keyframes pending{0%,20%,80%,100%{filter:grayscale(0%)}45%,55%{filter:grayscale(100%)}}@keyframes spin{to{transform:rotate(360deg)}}'}},[1,"limebb-chat-icon-list",{item:[16]}]);function s(){"undefined"!=typeof customElements&&["limebb-chat-icon-list"].forEach((e=>{"limebb-chat-icon-list"===e&&(customElements.get(t(e))||customElements.define(t(e),r))}))}export{r as C,s as d}
1
+ import{proxyCustomElement as e,HTMLElement as i,h as n,Host as o,transformTag as t}from"@stencil/core/internal/client";const r=e(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow()}render(){return n(o,{key:"8b396a9fe990300692e21c71e0674c412286db68",id:this.item.id},this.renderLabel(),n("div",{key:"8f1da67a4bb6916a3a76203dee5c2050ac2db1d3",class:"icons"},this.item.icons.map(((e,i)=>this.renderIcon(e,i)))))}renderLabel(){if(this.item.label)return n("span",{class:"label"},this.item.label)}renderIcon(e,i){const o=`icon-${this.item.id}-${i}`;return[n("limel-icon",{tabIndex:0,key:i,id:o,badge:!0,name:e.name,class:{"is-pending":!!e.pending,"is-clickable":!!e.onClick},style:{color:e.color,"background-color":e.backgroundColor},onClick:e.onClick}),this.renderTooltip(e,o)]}renderTooltip(e,i){if(e.title)return n("limel-tooltip",{label:e.title,elementId:i})}static get style(){return'@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}:host(limebb-chat-icon-list){display:flex;align-items:center;gap:0.5rem;margin-right:auto;max-width:calc(100% - 2rem);padding:0 0.25rem}.label{font-size:0.75rem;color:rgb(var(--contrast-900))}.icons{display:flex;align-items:center;gap:0.25rem}.icons:hover limel-icon,.icons:focus-within limel-icon{margin-left:0 !important}limel-icon{--icon-background-color:rgb(var(--contrast-500), 0.5)}limel-icon.is-clickable{cursor:pointer}limel-icon:focus{outline:none}limel-icon:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}limel-icon{transition:margin-left 0.2s cubic-bezier(0.075, 0.82, 0.165, 1), opacity 0.2s ease, box-shadow 0.2s ease;position:relative;width:1.75rem;padding:0.375rem;flex-shrink:0}limel-icon:not(.is-pending):not(:first-child){margin-left:-0.75rem}limel-icon.is-pending{animation:pending 3s linear infinite;padding:0.5rem}limel-icon.is-pending:after{content:"";position:absolute;inset:0;width:1.75rem;height:1.75rem;border-radius:50%;pointer-events:none;border-radius:50%;border:0.125rem solid rgb(var(--color-white), 0.5);border-top-color:rgb(var(--color-black), 0.8);mix-blend-mode:color-dodge;animation:spin 1s cubic-bezier(0.4, 0, 0.2, 1) infinite}@keyframes pending{0%,20%,80%,100%{filter:grayscale(0%)}45%,55%{filter:grayscale(100%)}}@keyframes spin{to{transform:rotate(360deg)}}'}},[1,"limebb-chat-icon-list",{item:[16]}]);function s(){"undefined"!=typeof customElements&&["limebb-chat-icon-list"].forEach((e=>{"limebb-chat-icon-list"===e&&(customElements.get(t(e))||customElements.define(t(e),r))}))}export{r as C,s as d}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as t,h as i,Host as r,transformTag as o}from"@stencil/core/internal/client";import{b as a}from"./index.esm.js";const s=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.hasError=!1,this.createActionBarItem=e=>{var t,i;if("separator"in e)return e;let r={value:e,text:null!==(t=e.label)&&void 0!==t?t:"",secondaryText:e.description,disabled:e.disabled};return!e.label&&e.icon?r=Object.assign(Object.assign({},r),{icon:e.icon,text:null!==(i=e.description)&&void 0!==i?i:r.text,iconOnly:!0}):e.icon&&(r=Object.assign(Object.assign({},r),{icon:e.icon})),r},this.handleActionBarItemSelect=e=>{var t;e.stopPropagation();const i=null===(t=e.detail.value)||void 0===t?void 0:t.command;i&&this.commandbus.handle(i)},this.createMenuItem=e=>{var t,i;return"separator"in e?e:{value:e,text:null!==(t=e.label)&&void 0!==t?t:"",secondaryText:e.description,disabled:e.disabled,icon:null!==(i=e.icon)&&void 0!==i?i:""}},this.handleMenuItemSelect=e=>{var t;e.stopPropagation();const i=null===(t=e.detail.value)||void 0===t?void 0:t.command;i&&this.commandbus.handle(i)}}render(){const e=`helper-text-${this.item.id}`;return i(r,{key:"1e6c1cea485ef290ccaf883a7206e2db140a03de",id:this.item.id,"aria-describedby":this.helperText?e:void 0,"aria-live":this.hasError?"assertive":"off",class:{[`${this.item.ui}`]:!0}},i("div",{key:"9e726745a4e577fb56141693f94ad548a0dbb428",class:"bubble-content"},i("div",{key:"30b9d1b5d27f658f43d65f60a8dfeb7c752ece7c",class:"icon-picture"},this.renderIcon(),this.renderAuthorPicture()),this.renderErrorSign(),i("div",{key:"809b0064268e9ac537611a7244845d3622afd146",class:"item"},this.renderHeader(),this.renderValue(),i("footer",{key:"5f5a9bfd1abe7b82d0bc8b5e04a0033de196d97f"},this.renderHelperText(e),this.renderTimestamp()))),this.renderPromotedAction())}renderErrorSign(){if(this.hasError)return i("limel-icon",{class:"error-sign",name:"brake_warning"})}renderHeader(){var e;if(null===(e=this.item.author)||void 0===e?void 0:e.name)return i("header",null,this.renderAuthorName(),i("div",{class:"action-buttons"},this.renderUnpromotedActionsMenu()))}renderIcon(){var e,t,r,o;if(this.item.icon)return i("limel-icon",{class:"icon",badge:!0,name:null!==(t=null===(e=this.item.icon)||void 0===e?void 0:e.name)&&void 0!==t?t:"dot_circle",style:{color:`${null===(r=this.item.icon)||void 0===r?void 0:r.color}`,"background-color":`${null===(o=this.item.icon)||void 0===o?void 0:o.backgroundColor}`}})}renderHelperText(e){if(this.helperText)return i("span",{class:"helper-text",id:e},this.helperText)}renderValue(){if(this.item.value)return i("limel-markdown",{class:"body-text reset-img-height",value:this.item.value})}renderAuthorName(){var e,t;if("string"==typeof(null===(e=this.item.author)||void 0===e?void 0:e.name))return i("span",{class:"author"},this.item.author.name);if("object"==typeof(null===(t=this.item.author)||void 0===t?void 0:t.name)){const{href:e,title:t,text:r}=this.item.author.name;return i("a",{class:"author",href:e,title:t},r)}}renderAuthorPicture(){var e;if(null===(e=this.item.author)||void 0===e?void 0:e.picture)return"limel-ai-avatar"===this.item.author.picture?i("limel-ai-avatar",{class:"author-avatar"}):i("img",{class:"author-avatar",loading:"lazy",src:this.item.author.picture})}renderUnpromotedActionsMenu(){var e,t;if(!(null===(e=this.item.unpromotedActions)||void 0===e?void 0:e.length))return;const r=this.item.unpromotedActions.map(this.createMenuItem);return i("limel-menu",{class:"unpromoted-actions-menu",items:r,openDirection:"bottom-end",onSelect:this.handleMenuItemSelect},i("limel-icon-button",{icon:"menu_2",slot:"trigger",label:null===(t=this.translator)||void 0===t?void 0:t.get("webclient.more-actions")}))}renderPromotedAction(){if(!this.item.promotedActions)return;const e=this.item.promotedActions.map(this.createActionBarItem);return i("div",{class:"action-bar"},i("div",{class:"action-bar-hider"},i("limel-action-bar",{accessibleLabel:"Action bar",actions:e,layout:"fullWidth",onItemSelected:this.handleActionBarItemSelect})))}renderTimestamp(){const e=this.item.timestamp;if(e)return i("span",{class:"timestamp"},this.dateTimeFormatter.format(e,"timeofday"))}get dateTimeFormatter(){return this.platform.get(a.DateTimeFormatter)}get translator(){var e;return null===(e=this.platform)||void 0===e?void 0:e.get(a.Translate)}get commandbus(){var e;return null===(e=this.platform)||void 0===e?void 0:e.get(a.CommandBus)}static get style(){return'@charset "UTF-8";*{box-sizing:border-box}:host(limebb-chat-item){display:flex;flex-direction:column;gap:0.25rem;min-width:0;min-height:0;max-width:calc(100% - 2rem)}.bubble-content{display:flex;gap:0.25rem;min-width:0;min-height:0}:host(limebb-chat-item:hover) .helper-text,:host(limebb-chat-item:hover) .timestamp,:host(limebb-chat-item:focus-within) .helper-text,:host(limebb-chat-item:focus-within) .timestamp{opacity:1}:host(limebb-chat-item.mine){margin-left:auto}:host(limebb-chat-item.mine) .item{border-bottom-right-radius:0.125rem;background-color:rgb(var(--color-sky-default), 0.2)}:host(limebb-chat-item.mine) .bubble-content{justify-content:end}:host(limebb-chat-item.mine) .icon-picture{order:2}:host(limebb-chat-item.theirs){margin-right:auto}:host(limebb-chat-item.theirs) .item{border-bottom-left-radius:0.125rem;background-color:rgb(var(--contrast-300), 0.7)}.item{display:flex;flex-direction:column;min-width:0;border-radius:1.25rem;padding:0 0.25rem 0.25rem 0.25rem;backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem)}.icon-picture{display:flex;flex-direction:column;gap:0.5rem;align-items:center;justify-content:flex-end}.icon-picture:has(.author-avatar) limel-icon{width:1.25rem;padding:0.125rem}.icon{--icon-background-color:rgb(var(--contrast-500), 0.5);flex-shrink:0;padding:0.375rem;width:2.25rem;backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem)}limel-ai-avatar.author-avatar{background-color:rgb(var(--color-glaucous-darker))}header{display:flex;justify-content:space-between;align-items:center;min-height:2rem;padding-left:0.5rem}header:not(:has(.unpromoted-actions-menu)){padding-right:0.5rem}.body-text{padding:0.25rem 0.5rem}footer{display:flex;justify-content:space-between;align-items:end;gap:0.5rem;font-size:x-small}footer:not(:empty){padding:0 0.25rem 0.125rem 0.5rem}footer *{transition:opacity 0.2s ease;opacity:0.4}.timestamp{margin-left:auto}.author-avatar{border-radius:50%;width:2rem;height:2rem;object-fit:cover;box-shadow:0 0 0 1px rgb(var(--contrast-600))}.author{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:500;text-decoration:none}a.author{position:relative;cursor:pointer;transition:color 0.2s ease;color:var(--mdc-theme-primary)}a.author:before{transition:opacity 0.2s ease, transform 0.3s ease-out;content:"";position:absolute;inset:auto 0 0 0;width:calc(100% - 0.5rem);margin:auto;height:0.125rem;border-radius:1rem;background-color:currentColor;opacity:0;transform:scale(0.6)}a.author:hover{color:rgb(var(--color-teal-light))}a.author:hover:before{opacity:0.3;transform:scale(1)}limel-action-bar{--action-bar-item-height:1.75rem;transition:opacity 0.2s ease;justify-content:flex-start;opacity:0.8}.action-bar{display:grid;transition:grid-template-rows var(--limebb-promoted-action-bar-grid-template-rows-transition-speed, 0.2s) cubic-bezier(1, 0.09, 0, 0.89) var(--limebb-promoted-action-bar-grid-template-rows-transition-delay, 0s);grid-template-rows:var(--limebb-promoted-action-bar-grid-template-rows, 1fr)}.action-bar-hider{overflow:hidden}limel-action-bar{transition:padding var(--limebb-promoted-action-bar-grid-template-rows-transition-speed) cubic-bezier(1, 0.09, 0, 0.89) var(--limebb-promoted-action-bar-grid-template-rows-transition-delay);padding-top:0;padding-bottom:0.75rem}:host(limebb-chat-item:hover) .action-bar,:host(limebb-chat-item:focus-within) .action-bar,:host(limebb-chat-item:focus-visible) .action-bar{--limebb-promoted-action-bar-grid-template-rows:1fr;will-change:grid-template-rows}:host(limebb-chat-item:hover) limel-action-bar,:host(limebb-chat-item:focus-within) limel-action-bar,:host(limebb-chat-item:focus-visible) limel-action-bar{will-change:opacity;opacity:1}:host(limebb-chat-item:hover),:host(limebb-chat-item:focus-within){--limebb-promoted-action-bar-grid-template-rows-transition-speed:0.46s;--limebb-promoted-action-bar-grid-template-rows-transition-delay:0.7s}.action-bar{min-width:0;width:calc(100% - calc(2rem + 0.25rem))}:host(limebb-chat-item.theirs) .action-bar{margin-left:calc(2rem + 0.25rem)}:host(limebb-chat-item[has-error]:not([has-error=false])) .bubble-content{cursor:help}:host(limebb-chat-item[has-error]:not([has-error=false])) .item{border:1px solid rgb(var(--color-red-default))}:host(limebb-chat-item[has-error]:not([has-error=false])) .error-sign{color:rgb(var(--color-red-default));flex-shrink:0;width:1.25rem;align-self:center}:host(limebb-chat-item.mine[has-error]:not([has-error=false])) .action-bar{padding-left:1.25rem}:host(limebb-chat-item.mine[has-error]:not([has-error=false])) .helper-text{opacity:1;color:rgb(var(--color-red-default))}'}},[1,"limebb-chat-item",{platform:[16],context:[16],item:[16],helperText:[1,"helper-text"],hasError:[516,"has-error"]}]);function n(){"undefined"!=typeof customElements&&["limebb-chat-item"].forEach((e=>{"limebb-chat-item"===e&&(customElements.get(o(e))||customElements.define(o(e),s))}))}export{s as C,n as d}
1
+ import{proxyCustomElement as e,HTMLElement as t,h as i,Host as r,transformTag as o}from"@stencil/core/internal/client";import{b as a}from"./index.esm.js";const s=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.hasError=!1,this.createActionBarItem=e=>{var t,i;if("separator"in e)return e;let r={value:e,text:null!==(t=e.label)&&void 0!==t?t:"",secondaryText:e.description,disabled:e.disabled};return!e.label&&e.icon?r=Object.assign(Object.assign({},r),{icon:e.icon,text:null!==(i=e.description)&&void 0!==i?i:r.text,iconOnly:!0}):e.icon&&(r=Object.assign(Object.assign({},r),{icon:e.icon})),r},this.handleActionBarItemSelect=e=>{var t;e.stopPropagation();const i=null===(t=e.detail.value)||void 0===t?void 0:t.command;i&&this.commandbus.handle(i)},this.createMenuItem=e=>{var t,i;return"separator"in e?e:{value:e,text:null!==(t=e.label)&&void 0!==t?t:"",secondaryText:e.description,disabled:e.disabled,icon:null!==(i=e.icon)&&void 0!==i?i:""}},this.handleMenuItemSelect=e=>{var t;e.stopPropagation();const i=null===(t=e.detail.value)||void 0===t?void 0:t.command;i&&this.commandbus.handle(i)}}render(){const e=`helper-text-${this.item.id}`;return i(r,{key:"7726b35958522c860513ba9ea7a119a4ee9dfe2d",id:this.item.id,"aria-describedby":this.helperText?e:void 0,"aria-live":this.hasError?"assertive":"off",class:{[`${this.item.ui}`]:!0}},i("div",{key:"2092b4d2eb6a4149205fbddae42aa63893ae2c35",class:"bubble-content"},i("div",{key:"728b94f59b744ac932ede9bef2a99d180c0675f3",class:"icon-picture"},this.renderIcon(),this.renderAuthorPicture()),this.renderErrorSign(),i("div",{key:"a87fbb4ba58928deace952f50f480483530ac552",class:"item"},this.renderHeader(),this.renderValue(),i("footer",{key:"446921a64f33dc02c6d6b9ae3e6143b1ad7ee6d9"},this.renderHelperText(e),this.renderTimestamp()))),this.renderPromotedAction())}renderErrorSign(){if(this.hasError)return i("limel-icon",{class:"error-sign",name:"brake_warning"})}renderHeader(){var e;if(null===(e=this.item.author)||void 0===e?void 0:e.name)return i("header",null,this.renderAuthorName(),i("div",{class:"action-buttons"},this.renderUnpromotedActionsMenu()))}renderIcon(){var e,t,r,o;if(this.item.icon)return i("limel-icon",{class:"icon",badge:!0,name:null!==(t=null===(e=this.item.icon)||void 0===e?void 0:e.name)&&void 0!==t?t:"dot_circle",style:{color:`${null===(r=this.item.icon)||void 0===r?void 0:r.color}`,"background-color":`${null===(o=this.item.icon)||void 0===o?void 0:o.backgroundColor}`}})}renderHelperText(e){if(this.helperText)return i("span",{class:"helper-text",id:e},this.helperText)}renderValue(){if(this.item.value)return i("limel-markdown",{class:"body-text reset-img-height",value:this.item.value})}renderAuthorName(){var e,t;if("string"==typeof(null===(e=this.item.author)||void 0===e?void 0:e.name))return i("span",{class:"author"},this.item.author.name);if("object"==typeof(null===(t=this.item.author)||void 0===t?void 0:t.name)){const{href:e,title:t,text:r}=this.item.author.name;return i("a",{class:"author",href:e,title:t},r)}}renderAuthorPicture(){var e;if(null===(e=this.item.author)||void 0===e?void 0:e.picture)return"limel-ai-avatar"===this.item.author.picture?i("limel-ai-avatar",{class:"author-avatar"}):i("img",{class:"author-avatar",loading:"lazy",src:this.item.author.picture})}renderUnpromotedActionsMenu(){var e,t;if(!(null===(e=this.item.unpromotedActions)||void 0===e?void 0:e.length))return;const r=this.item.unpromotedActions.map(this.createMenuItem);return i("limel-menu",{class:"unpromoted-actions-menu",items:r,openDirection:"bottom-end",onSelect:this.handleMenuItemSelect},i("limel-icon-button",{icon:"menu_2",slot:"trigger",label:null===(t=this.translator)||void 0===t?void 0:t.get("webclient.more-actions")}))}renderPromotedAction(){if(!this.item.promotedActions)return;const e=this.item.promotedActions.map(this.createActionBarItem);return i("div",{class:"action-bar"},i("div",{class:"action-bar-hider"},i("limel-action-bar",{accessibleLabel:"Action bar",actions:e,layout:"fullWidth",onItemSelected:this.handleActionBarItemSelect})))}renderTimestamp(){const e=this.item.timestamp;if(e)return i("span",{class:"timestamp"},this.dateTimeFormatter.format(e,"timeofday"))}get dateTimeFormatter(){return this.platform.get(a.DateTimeFormatter)}get translator(){var e;return null===(e=this.platform)||void 0===e?void 0:e.get(a.Translate)}get commandbus(){var e;return null===(e=this.platform)||void 0===e?void 0:e.get(a.CommandBus)}static get style(){return'@charset "UTF-8";*{box-sizing:border-box}:host(limebb-chat-item){display:flex;flex-direction:column;gap:0.25rem;min-width:0;min-height:0;max-width:calc(100% - 2rem)}.bubble-content{display:flex;gap:0.25rem;min-width:0;min-height:0}:host(limebb-chat-item:hover) .helper-text,:host(limebb-chat-item:hover) .timestamp,:host(limebb-chat-item:focus-within) .helper-text,:host(limebb-chat-item:focus-within) .timestamp{opacity:1}:host(limebb-chat-item.mine){margin-left:auto}:host(limebb-chat-item.mine) .item{border-bottom-right-radius:0.125rem;background-color:rgb(var(--color-sky-default), 0.2)}:host(limebb-chat-item.mine) .bubble-content{justify-content:end}:host(limebb-chat-item.mine) .icon-picture{order:2}:host(limebb-chat-item.theirs){margin-right:auto}:host(limebb-chat-item.theirs) .item{border-bottom-left-radius:0.125rem;background-color:rgb(var(--contrast-300), 0.7)}.item{display:flex;flex-direction:column;min-width:0;border-radius:1.25rem;padding:0 0.25rem 0.25rem 0.25rem;backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem)}.icon-picture{display:flex;flex-direction:column;gap:0.5rem;align-items:center;justify-content:flex-end}.icon-picture:has(.author-avatar) limel-icon{width:1.25rem;padding:0.125rem}.icon{--icon-background-color:rgb(var(--contrast-500), 0.5);flex-shrink:0;padding:0.375rem;width:2.25rem;backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem)}limel-ai-avatar.author-avatar{background-color:rgb(var(--color-glaucous-darker))}header{display:flex;justify-content:space-between;align-items:center;min-height:2rem;padding-left:0.5rem}header:not(:has(.unpromoted-actions-menu)){padding-right:0.5rem}.body-text{padding:0.25rem 0.5rem}footer{display:flex;justify-content:space-between;align-items:end;gap:0.5rem;font-size:x-small}footer:not(:empty){padding:0 0.25rem 0.125rem 0.5rem}footer *{transition:opacity 0.2s ease;opacity:0.4}.timestamp{margin-left:auto}.author-avatar{border-radius:50%;width:2rem;height:2rem;object-fit:cover;box-shadow:0 0 0 1px rgb(var(--contrast-600))}.author{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:500;text-decoration:none}a.author{position:relative;cursor:pointer;transition:color 0.2s ease;color:var(--mdc-theme-primary)}a.author:before{transition:opacity 0.2s ease, transform 0.3s ease-out;content:"";position:absolute;inset:auto 0 0 0;width:calc(100% - 0.5rem);margin:auto;height:0.125rem;border-radius:1rem;background-color:currentColor;opacity:0;transform:scale(0.6)}a.author:hover{color:rgb(var(--color-teal-light))}a.author:hover:before{opacity:0.3;transform:scale(1)}limel-action-bar{--action-bar-item-height:1.75rem;transition:opacity 0.2s ease;justify-content:flex-start;opacity:0.8}.action-bar{display:grid;transition:grid-template-rows var(--limebb-promoted-action-bar-grid-template-rows-transition-speed, 0.2s) cubic-bezier(1, 0.09, 0, 0.89) var(--limebb-promoted-action-bar-grid-template-rows-transition-delay, 0s);grid-template-rows:var(--limebb-promoted-action-bar-grid-template-rows, 1fr)}.action-bar-hider{overflow:hidden}limel-action-bar{transition:padding var(--limebb-promoted-action-bar-grid-template-rows-transition-speed) cubic-bezier(1, 0.09, 0, 0.89) var(--limebb-promoted-action-bar-grid-template-rows-transition-delay);padding-top:0;padding-bottom:0.75rem}:host(limebb-chat-item:hover) .action-bar,:host(limebb-chat-item:focus-within) .action-bar,:host(limebb-chat-item:focus-visible) .action-bar{--limebb-promoted-action-bar-grid-template-rows:1fr;will-change:grid-template-rows}:host(limebb-chat-item:hover) limel-action-bar,:host(limebb-chat-item:focus-within) limel-action-bar,:host(limebb-chat-item:focus-visible) limel-action-bar{will-change:opacity;opacity:1}:host(limebb-chat-item:hover),:host(limebb-chat-item:focus-within){--limebb-promoted-action-bar-grid-template-rows-transition-speed:0.46s;--limebb-promoted-action-bar-grid-template-rows-transition-delay:0.7s}.action-bar{min-width:0;width:calc(100% - calc(2rem + 0.25rem))}:host(limebb-chat-item.theirs) .action-bar{margin-left:calc(2rem + 0.25rem)}:host(limebb-chat-item[has-error]:not([has-error=false])) .bubble-content{cursor:help}:host(limebb-chat-item[has-error]:not([has-error=false])) .item{border:1px solid rgb(var(--color-red-default))}:host(limebb-chat-item[has-error]:not([has-error=false])) .error-sign{color:rgb(var(--color-red-default));flex-shrink:0;width:1.25rem;align-self:center}:host(limebb-chat-item.mine[has-error]:not([has-error=false])) .action-bar{padding-left:1.25rem}:host(limebb-chat-item.mine[has-error]:not([has-error=false])) .helper-text{opacity:1;color:rgb(var(--color-red-default))}'}},[1,"limebb-chat-item",{platform:[16],context:[16],item:[16],helperText:[1,"helper-text"],hasError:[516,"has-error"]}]);function n(){"undefined"!=typeof customElements&&["limebb-chat-item"].forEach((e=>{"limebb-chat-item"===e&&(customElements.get(o(e))||customElements.define(o(e),s))}))}export{s as C,n as d}