@limetech/lime-crm-building-blocks 1.139.1 → 2.0.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 (349) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cjs/file-contents-url-CIoCVl85.js +14 -0
  3. package/dist/cjs/{filter-condition-icons-HypsDn6x.js → filter-condition-icons-QK5stWj6.js} +142 -0
  4. package/dist/cjs/{filter-group-logic-BPpM2NqX.js → filter-group-logic-EDLGrkTt.js} +12 -12
  5. package/dist/cjs/filter-operators-CVCyCZ7Q.js +61 -0
  6. package/dist/cjs/index.cjs.js +8 -1
  7. package/dist/cjs/{index.esm-Se3EtD3m.js → index.esm-CcYbS__E.js} +210 -181
  8. package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
  9. package/dist/cjs/{lime-query-validation-CJC3mtnT.js → lime-query-validation-B0oYW7Z6.js} +7 -7
  10. package/dist/cjs/limebb-alert-dialog.cjs.entry.js +1 -1
  11. package/dist/cjs/limebb-browser.cjs.entry.js +3 -3
  12. package/dist/cjs/limebb-chat-icon-list_3.cjs.entry.js +5 -5
  13. package/dist/cjs/limebb-chat-list.cjs.entry.js +2 -2
  14. package/dist/cjs/limebb-color-palette-picker.cjs.entry.js +1 -1
  15. package/dist/cjs/limebb-color-palette-swatches.cjs.entry.js +1 -1
  16. package/dist/cjs/limebb-component-config.cjs.entry.js +1 -1
  17. package/dist/cjs/limebb-component-picker.cjs.entry.js +1 -1
  18. package/dist/cjs/limebb-composer-toolbar.cjs.entry.js +3 -3
  19. package/dist/cjs/limebb-currency-picker.cjs.entry.js +2 -2
  20. package/dist/cjs/limebb-dashboard-widget.cjs.entry.js +1 -1
  21. package/dist/cjs/limebb-data-cells.cjs.entry.js +1 -1
  22. package/dist/cjs/limebb-date-picker.cjs.entry.js +2 -2
  23. package/dist/cjs/limebb-date-range.cjs.entry.js +1 -1
  24. package/dist/cjs/limebb-document-chips.cjs.entry.js +1 -1
  25. package/dist/cjs/limebb-document-item.cjs.entry.js +2 -2
  26. package/dist/cjs/limebb-document-picker.cjs.entry.js +1 -1
  27. package/dist/cjs/limebb-feed-item-thumbnail-file-info.cjs.entry.js +1 -1
  28. package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +6 -2
  29. package/dist/cjs/limebb-feed.cjs.entry.js +2 -2
  30. package/dist/cjs/{limebb-filter-chip_5.cjs.entry.js → limebb-filter-chip_6.cjs.entry.js} +126 -92
  31. package/dist/cjs/limebb-icon-picker.cjs.entry.js +1 -1
  32. package/dist/cjs/limebb-info-tile-format.cjs.entry.js +1 -1
  33. package/dist/cjs/limebb-info-tile.cjs.entry.js +11 -10
  34. package/dist/cjs/limebb-inline-image.cjs.entry.js +49 -0
  35. package/dist/cjs/limebb-kanban-group.cjs.entry.js +3 -3
  36. package/dist/cjs/limebb-kanban-item.cjs.entry.js +2 -2
  37. package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +4 -4
  38. package/dist/cjs/limebb-lime-query-filter-builder.cjs.entry.js +5 -5
  39. package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +10 -27
  40. package/dist/cjs/limebb-lime-query-order-by-editor_2.cjs.entry.js +4 -4
  41. package/dist/cjs/limebb-lime-query-order-by-item.cjs.entry.js +2 -2
  42. package/dist/cjs/limebb-lime-query-response-format-builder.cjs.entry.js +4 -4
  43. package/dist/cjs/limebb-lime-query-response-format-editor_2.cjs.entry.js +1 -1
  44. package/dist/cjs/limebb-limeobject-file-viewer.cjs.entry.js +3 -3
  45. package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
  46. package/dist/cjs/limebb-loader.cjs.entry.js +2 -2
  47. package/dist/cjs/limebb-locale-picker.cjs.entry.js +2 -2
  48. package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
  49. package/dist/cjs/limebb-mention.cjs.entry.js +1 -1
  50. package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +2 -2
  51. package/dist/cjs/limebb-notification-item.cjs.entry.js +2 -2
  52. package/dist/cjs/limebb-notification-list.cjs.entry.js +1 -1
  53. package/dist/cjs/limebb-object-chip.cjs.entry.js +3 -3
  54. package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +3 -3
  55. package/dist/cjs/limebb-property-selector.cjs.entry.js +3 -3
  56. package/dist/cjs/limebb-rule-arg-filter-editor.cjs.entry.js +2 -2
  57. package/dist/cjs/limebb-rule-chip-popover.cjs.entry.js +3 -3
  58. package/dist/cjs/limebb-rule-editor.cjs.entry.js +3 -3
  59. package/dist/cjs/limebb-rule-gate.cjs.entry.js +2 -2
  60. package/dist/cjs/limebb-text-editor.cjs.entry.js +51 -144
  61. package/dist/cjs/limebb-trend-indicator.cjs.entry.js +2 -2
  62. package/dist/cjs/limebb-value-comparison-editor.cjs.entry.js +38 -36
  63. package/dist/cjs/{limetype-CmgP0nbZ.js → limetype-C-fVThrI.js} +1 -1
  64. package/dist/cjs/loader.cjs.js +1 -1
  65. package/dist/collection/collection-manifest.json +2 -0
  66. package/dist/collection/components/alert-dialog/alert-dialog.js +1 -1
  67. package/dist/collection/components/browser/browser.js +2 -2
  68. package/dist/collection/components/chat-list/chat-icon-list/chat-icon-list.js +1 -1
  69. package/dist/collection/components/chat-list/chat-item/chat-item.js +2 -2
  70. package/dist/collection/components/chat-list/chat-list.js +1 -1
  71. package/dist/collection/components/chat-list/typing-indicator/typing-indicator.js +1 -1
  72. package/dist/collection/components/color-palette-picker/color-palette-picker.js +1 -1
  73. package/dist/collection/components/color-palette-picker/color-palette-swatches/color-palette-swatches.js +1 -1
  74. package/dist/collection/components/composer-toolbar/composer-toolbar.js +2 -2
  75. package/dist/collection/components/currency-picker/currency-picker.js +1 -1
  76. package/dist/collection/components/dashboard-widget/dashboard-widget.js +1 -1
  77. package/dist/collection/components/date-picker/date-picker.js +1 -1
  78. package/dist/collection/components/date-range/date-range.js +1 -1
  79. package/dist/collection/components/document-chips/document-chips.js +1 -1
  80. package/dist/collection/components/document-picker/document-item/document-item.js +2 -2
  81. package/dist/collection/components/document-picker/document-picker.js +1 -1
  82. package/dist/collection/components/feed/feed-item/feed-timeline-item.js +5 -1
  83. package/dist/collection/components/feed/feed-item-thumbnail-file-info/feed-item-thumbnail-file-info.js +1 -1
  84. package/dist/collection/components/feed/feed.js +1 -1
  85. package/dist/collection/components/filter-chip/filter-chip.js +2 -2
  86. package/dist/collection/components/filter-chip/filter-condition-icons.js +141 -0
  87. package/dist/collection/components/filter-chip/filter-operators.js +54 -0
  88. package/dist/collection/components/filter-condition-picker/filter-condition-picker.css +7 -0
  89. package/dist/collection/components/filter-condition-picker/filter-condition-picker.js +256 -0
  90. package/dist/collection/components/icon-picker/icon-picker.js +1 -1
  91. package/dist/collection/components/info-tile/format/config/info-tile-format.js +1 -1
  92. package/dist/collection/components/info-tile/info-tile.js +2 -2
  93. package/dist/collection/components/info-tile/loader.js +2 -1
  94. package/dist/collection/components/inline-image/inline-image.css +12 -0
  95. package/dist/collection/components/inline-image/inline-image.js +146 -0
  96. package/dist/collection/components/kanban/kanban-group/kanban-group.js +1 -1
  97. package/dist/collection/components/kanban/kanban-item/kanban-item.js +1 -1
  98. package/dist/collection/components/lime-query-builder/expressions/compound-leaf.js +6 -6
  99. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison-editor.js +37 -20
  100. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +8 -25
  101. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js +2 -2
  102. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +1 -1
  103. package/dist/collection/components/lime-query-builder/expressions/lime-query-operators.js +23 -57
  104. package/dist/collection/components/lime-query-builder/lime-query-builder.js +1 -1
  105. package/dist/collection/components/lime-query-builder/lime-query-response-format-builder.js +1 -1
  106. package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +1 -1
  107. package/dist/collection/components/lime-query-builder/order-by/order-by-editor.js +1 -1
  108. package/dist/collection/components/lime-query-builder/order-by/order-by-item.js +2 -2
  109. package/dist/collection/components/lime-query-builder/response-format/response-format-item.js +1 -1
  110. package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
  111. package/dist/collection/components/locale-picker/locale-picker.js +1 -1
  112. package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
  113. package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
  114. package/dist/collection/components/rule-editor/rule-chip-popover/rule-chip-popover.js +1 -1
  115. package/dist/collection/components/rule-editor/rule-editor.js +1 -1
  116. package/dist/collection/components/rule-editor/value-comparison-editor/value-comparison-editor.js +62 -36
  117. package/dist/collection/components/rule-gate/rule-gate.js +1 -1
  118. package/dist/collection/components/summary-popover/summary-popover.js +2 -2
  119. package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
  120. package/dist/collection/components/text-editor/text-editor.js +57 -45
  121. package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
  122. package/dist/collection/index.js +1 -0
  123. package/dist/collection/util/file-contents-url.js +10 -0
  124. package/dist/components/chat-icon-list.js +1 -1
  125. package/dist/components/chat-item.js +1 -1
  126. package/dist/components/currency-picker.js +1 -1
  127. package/dist/components/date-picker.js +1 -1
  128. package/dist/components/document-item.js +1 -1
  129. package/dist/components/feed-item-thumbnail-file-info.js +1 -1
  130. package/dist/components/feed-timeline-item.js +1 -1
  131. package/dist/components/file-contents-url.js +1 -0
  132. package/dist/components/filter-chip.js +1 -1
  133. package/dist/components/filter-condition-icons.js +1 -1
  134. package/dist/components/filter-condition-picker.js +1 -0
  135. package/dist/components/filter-operators.js +1 -0
  136. package/dist/components/index.esm.js +1 -1
  137. package/dist/components/index.js +1 -1
  138. package/dist/components/kanban-group.js +1 -1
  139. package/dist/components/kanban-item.js +1 -1
  140. package/dist/components/lime-query-filter-builder.js +1 -1
  141. package/dist/components/lime-query-filter-comparison-editor.js +1 -1
  142. package/dist/components/lime-query-filter-comparison.js +1 -1
  143. package/dist/components/lime-query-filter-expression.js +1 -1
  144. package/dist/components/lime-query-validation.js +1 -1
  145. package/dist/components/lime-query-value-input.js +1 -1
  146. package/dist/components/limebb-alert-dialog.js +1 -1
  147. package/dist/components/limebb-browser.js +1 -1
  148. package/dist/components/limebb-chat-list.js +1 -1
  149. package/dist/components/limebb-color-palette-picker.js +1 -1
  150. package/dist/components/limebb-color-palette-swatches.js +1 -1
  151. package/dist/components/limebb-component-config.js +1 -1
  152. package/dist/components/limebb-component-picker.js +1 -1
  153. package/dist/components/limebb-composer-toolbar.js +1 -1
  154. package/dist/components/limebb-dashboard-widget.js +1 -1
  155. package/dist/components/limebb-data-cells.js +1 -1
  156. package/dist/components/limebb-date-range.js +1 -1
  157. package/dist/components/limebb-document-chips.js +1 -1
  158. package/dist/components/limebb-document-picker.js +1 -1
  159. package/dist/components/limebb-feed.js +1 -1
  160. package/dist/components/limebb-filter-condition-picker.d.ts +11 -0
  161. package/dist/components/limebb-filter-condition-picker.js +1 -0
  162. package/dist/components/limebb-icon-picker.js +1 -1
  163. package/dist/components/limebb-info-tile-format.js +1 -1
  164. package/dist/components/limebb-info-tile.js +1 -1
  165. package/dist/components/limebb-inline-image.d.ts +11 -0
  166. package/dist/components/limebb-inline-image.js +1 -0
  167. package/dist/components/limebb-lime-query-builder.js +1 -1
  168. package/dist/components/limebb-lime-query-response-format-builder.js +1 -1
  169. package/dist/components/limebb-limeobject-file-viewer.js +1 -1
  170. package/dist/components/limebb-loader.js +1 -1
  171. package/dist/components/limebb-locale-picker.js +1 -1
  172. package/dist/components/limebb-mention-group-counter.js +1 -1
  173. package/dist/components/limebb-mention.js +1 -1
  174. package/dist/components/limebb-notification-list.js +1 -1
  175. package/dist/components/limebb-object-chip.js +1 -1
  176. package/dist/components/limebb-rule-arg-filter-editor.js +1 -1
  177. package/dist/components/limebb-rule-editor.js +1 -1
  178. package/dist/components/limebb-rule-gate.js +1 -1
  179. package/dist/components/limebb-text-editor.js +1 -1
  180. package/dist/components/limebb-trend-indicator.js +1 -1
  181. package/dist/components/limebb-value-comparison-editor.js +1 -1
  182. package/dist/components/limetype-field.js +1 -1
  183. package/dist/components/live-docs-info.js +1 -1
  184. package/dist/components/notification-item.js +1 -1
  185. package/dist/components/order-by-editor.js +1 -1
  186. package/dist/components/order-by-item.js +1 -1
  187. package/dist/components/percentage-visualizer.js +1 -1
  188. package/dist/components/property-selector.js +1 -1
  189. package/dist/components/response-format-item.js +1 -1
  190. package/dist/components/rule-chip-popover.js +1 -1
  191. package/dist/components/summary-popover.js +1 -1
  192. package/dist/components/typing-indicator.js +1 -1
  193. package/dist/esm/file-contents-url-Oswz9F3I.js +12 -0
  194. package/dist/esm/{filter-condition-icons-D8CJOcfs.js → filter-condition-icons-C_y3-T4Q.js} +142 -1
  195. package/dist/esm/{filter-group-logic-BMY_GEsX.js → filter-group-logic-DS1inQTh.js} +12 -12
  196. package/dist/esm/filter-operators-CsZi5iCV.js +57 -0
  197. package/dist/esm/{index.esm-C-L5fkQs.js → index.esm-BjIhvFKX.js} +200 -172
  198. package/dist/esm/index.js +4 -1
  199. package/dist/esm/lime-crm-building-blocks.js +1 -1
  200. package/dist/esm/{lime-query-validation-BwvluehW.js → lime-query-validation-CVV7mrLj.js} +7 -7
  201. package/dist/esm/limebb-alert-dialog.entry.js +1 -1
  202. package/dist/esm/limebb-browser.entry.js +3 -3
  203. package/dist/esm/limebb-chat-icon-list_3.entry.js +5 -5
  204. package/dist/esm/limebb-chat-list.entry.js +2 -2
  205. package/dist/esm/limebb-color-palette-picker.entry.js +1 -1
  206. package/dist/esm/limebb-color-palette-swatches.entry.js +1 -1
  207. package/dist/esm/limebb-component-config.entry.js +1 -1
  208. package/dist/esm/limebb-component-picker.entry.js +1 -1
  209. package/dist/esm/limebb-composer-toolbar.entry.js +3 -3
  210. package/dist/esm/limebb-currency-picker.entry.js +2 -2
  211. package/dist/esm/limebb-dashboard-widget.entry.js +1 -1
  212. package/dist/esm/limebb-data-cells.entry.js +1 -1
  213. package/dist/esm/limebb-date-picker.entry.js +2 -2
  214. package/dist/esm/limebb-date-range.entry.js +1 -1
  215. package/dist/esm/limebb-document-chips.entry.js +1 -1
  216. package/dist/esm/limebb-document-item.entry.js +2 -2
  217. package/dist/esm/limebb-document-picker.entry.js +1 -1
  218. package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
  219. package/dist/esm/limebb-feed-timeline-item.entry.js +6 -2
  220. package/dist/esm/limebb-feed.entry.js +2 -2
  221. package/dist/esm/{limebb-filter-chip_5.entry.js → limebb-filter-chip_6.entry.js} +126 -93
  222. package/dist/esm/limebb-icon-picker.entry.js +1 -1
  223. package/dist/esm/limebb-info-tile-format.entry.js +1 -1
  224. package/dist/esm/limebb-info-tile.entry.js +11 -10
  225. package/dist/esm/limebb-inline-image.entry.js +47 -0
  226. package/dist/esm/limebb-kanban-group.entry.js +3 -3
  227. package/dist/esm/limebb-kanban-item.entry.js +2 -2
  228. package/dist/esm/limebb-lime-query-builder.entry.js +4 -4
  229. package/dist/esm/limebb-lime-query-filter-builder.entry.js +5 -5
  230. package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +10 -27
  231. package/dist/esm/limebb-lime-query-order-by-editor_2.entry.js +4 -4
  232. package/dist/esm/limebb-lime-query-order-by-item.entry.js +2 -2
  233. package/dist/esm/limebb-lime-query-response-format-builder.entry.js +4 -4
  234. package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +1 -1
  235. package/dist/esm/limebb-limeobject-file-viewer.entry.js +3 -3
  236. package/dist/esm/limebb-live-docs-info.entry.js +2 -2
  237. package/dist/esm/limebb-loader.entry.js +2 -2
  238. package/dist/esm/limebb-locale-picker.entry.js +2 -2
  239. package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
  240. package/dist/esm/limebb-mention.entry.js +1 -1
  241. package/dist/esm/limebb-navigation-button_2.entry.js +2 -2
  242. package/dist/esm/limebb-notification-item.entry.js +2 -2
  243. package/dist/esm/limebb-notification-list.entry.js +1 -1
  244. package/dist/esm/limebb-object-chip.entry.js +3 -3
  245. package/dist/esm/limebb-percentage-visualizer.entry.js +3 -3
  246. package/dist/esm/limebb-property-selector.entry.js +3 -3
  247. package/dist/esm/limebb-rule-arg-filter-editor.entry.js +2 -2
  248. package/dist/esm/limebb-rule-chip-popover.entry.js +3 -3
  249. package/dist/esm/limebb-rule-editor.entry.js +3 -3
  250. package/dist/esm/limebb-rule-gate.entry.js +2 -2
  251. package/dist/esm/limebb-text-editor.entry.js +51 -144
  252. package/dist/esm/limebb-trend-indicator.entry.js +2 -2
  253. package/dist/esm/limebb-value-comparison-editor.entry.js +38 -36
  254. package/dist/esm/{limetype-D4ZaWZ-3.js → limetype-BbMRN-SU.js} +1 -1
  255. package/dist/esm/loader.js +1 -1
  256. package/dist/lime-crm-building-blocks/index.esm.js +1 -1
  257. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  258. package/dist/lime-crm-building-blocks/p-135ba2ee.entry.js +1 -0
  259. package/dist/lime-crm-building-blocks/{p-e4cef02f.entry.js → p-19dc7242.entry.js} +1 -1
  260. package/dist/lime-crm-building-blocks/p-1c6e5402.entry.js +1 -0
  261. package/dist/lime-crm-building-blocks/{p-96ea4550.entry.js → p-1f97e235.entry.js} +1 -1
  262. package/dist/lime-crm-building-blocks/{p-0f821315.entry.js → p-22e68812.entry.js} +1 -1
  263. package/dist/lime-crm-building-blocks/{p-fd38bf57.entry.js → p-240cbd82.entry.js} +1 -1
  264. package/dist/lime-crm-building-blocks/{p-3fc9866a.entry.js → p-251aca46.entry.js} +1 -1
  265. package/dist/lime-crm-building-blocks/p-25984c90.entry.js +1 -0
  266. package/dist/lime-crm-building-blocks/{p-80e04b27.entry.js → p-397a6191.entry.js} +1 -1
  267. package/dist/lime-crm-building-blocks/{p-46dc34a6.entry.js → p-3f537135.entry.js} +1 -1
  268. package/dist/lime-crm-building-blocks/{p-a6e9cefe.entry.js → p-52a92d89.entry.js} +1 -1
  269. package/dist/lime-crm-building-blocks/p-585f6cfe.entry.js +1 -0
  270. package/dist/lime-crm-building-blocks/{p-0579d006.entry.js → p-59fb624c.entry.js} +1 -1
  271. package/dist/lime-crm-building-blocks/{p-fb8d854b.entry.js → p-5beb508a.entry.js} +1 -1
  272. package/dist/lime-crm-building-blocks/{p-5b1ccfe1.entry.js → p-662fb8b6.entry.js} +1 -1
  273. package/dist/lime-crm-building-blocks/{p-00ca6522.entry.js → p-673226a6.entry.js} +1 -1
  274. package/dist/lime-crm-building-blocks/{p-9033acb5.entry.js → p-69b08896.entry.js} +1 -1
  275. package/dist/lime-crm-building-blocks/{p-01f84b0c.entry.js → p-6c2e25d9.entry.js} +1 -1
  276. package/dist/lime-crm-building-blocks/{p-bf4b2a91.entry.js → p-7033d408.entry.js} +1 -1
  277. package/dist/lime-crm-building-blocks/{p-fce1a282.entry.js → p-73b71080.entry.js} +1 -1
  278. package/dist/lime-crm-building-blocks/{p-3bf316f9.entry.js → p-742926a3.entry.js} +1 -1
  279. package/dist/lime-crm-building-blocks/p-78d362b4.entry.js +1 -0
  280. package/dist/lime-crm-building-blocks/p-79c492b2.entry.js +1 -0
  281. package/dist/lime-crm-building-blocks/{p-994296b0.entry.js → p-7a5c2dda.entry.js} +1 -1
  282. package/dist/lime-crm-building-blocks/{p-de785fee.entry.js → p-7b6c9cbf.entry.js} +1 -1
  283. package/dist/lime-crm-building-blocks/{p-354257f4.entry.js → p-7ce967b6.entry.js} +1 -1
  284. package/dist/lime-crm-building-blocks/{p-1cd148e2.entry.js → p-896e77b9.entry.js} +1 -1
  285. package/dist/lime-crm-building-blocks/{p-bde3e779.entry.js → p-906b4eca.entry.js} +1 -1
  286. package/dist/lime-crm-building-blocks/{p-41ddbdde.entry.js → p-964b066d.entry.js} +1 -1
  287. package/dist/lime-crm-building-blocks/p-CE43qjk3.js +1 -0
  288. package/dist/lime-crm-building-blocks/{p-D8CJOcfs.js → p-C_y3-T4Q.js} +1 -1
  289. package/dist/lime-crm-building-blocks/p-Cw4kdMw3.js +1 -0
  290. package/dist/lime-crm-building-blocks/p-DLehg4hi.js +1 -0
  291. package/dist/lime-crm-building-blocks/{p-CI6VHE0w.js → p-Dhyy9Td7.js} +1 -1
  292. package/dist/lime-crm-building-blocks/p-Oswz9F3I.js +1 -0
  293. package/dist/lime-crm-building-blocks/p-a157233b.entry.js +1 -0
  294. package/dist/lime-crm-building-blocks/p-a3058b72.entry.js +1 -0
  295. package/dist/lime-crm-building-blocks/{p-13a35953.entry.js → p-a4e676a6.entry.js} +1 -1
  296. package/dist/lime-crm-building-blocks/{p-b0ec4121.entry.js → p-aafead4e.entry.js} +1 -1
  297. package/dist/lime-crm-building-blocks/p-b78ub0mY.js +1 -0
  298. package/dist/lime-crm-building-blocks/{p-0f9a680c.entry.js → p-bc297cf4.entry.js} +1 -1
  299. package/dist/lime-crm-building-blocks/p-bcd8c767.entry.js +1 -0
  300. package/dist/lime-crm-building-blocks/p-c4e5e589.entry.js +1 -0
  301. package/dist/lime-crm-building-blocks/{p-dacd1df3.entry.js → p-d014ec57.entry.js} +1 -1
  302. package/dist/lime-crm-building-blocks/p-d20404ec.entry.js +1 -0
  303. package/dist/lime-crm-building-blocks/{p-e2420cde.entry.js → p-d2e85be2.entry.js} +1 -1
  304. package/dist/lime-crm-building-blocks/{p-69a3038b.entry.js → p-d3fe25a7.entry.js} +1 -1
  305. package/dist/lime-crm-building-blocks/{p-bd0a30d7.entry.js → p-d43cf8d1.entry.js} +1 -1
  306. package/dist/lime-crm-building-blocks/{p-e618ccd3.entry.js → p-d78370be.entry.js} +1 -1
  307. package/dist/lime-crm-building-blocks/{p-f73e3da0.entry.js → p-dd7aec09.entry.js} +1 -1
  308. package/dist/lime-crm-building-blocks/{p-5bc41701.entry.js → p-e29c27b8.entry.js} +1 -1
  309. package/dist/lime-crm-building-blocks/{p-b7e5a10e.entry.js → p-e2e1358d.entry.js} +1 -1
  310. package/dist/lime-crm-building-blocks/{p-8d592755.entry.js → p-e4a21ebe.entry.js} +1 -1
  311. package/dist/lime-crm-building-blocks/p-e581d0b7.entry.js +1 -0
  312. package/dist/lime-crm-building-blocks/{p-be5c43bb.entry.js → p-e6a85c26.entry.js} +1 -1
  313. package/dist/lime-crm-building-blocks/p-e8b2df7c.entry.js +1 -0
  314. package/dist/lime-crm-building-blocks/{p-302e6e3e.entry.js → p-ef890206.entry.js} +1 -1
  315. package/dist/lime-crm-building-blocks/{p-558915e4.entry.js → p-f4214745.entry.js} +1 -1
  316. package/dist/lime-crm-building-blocks/{p-6cdefdc9.entry.js → p-f6377fa5.entry.js} +1 -1
  317. package/dist/lime-crm-building-blocks/p-f9e9d18e.entry.js +1 -0
  318. package/dist/test/setup.js +1 -0
  319. package/dist/types/components/filter-chip/filter-condition-icons.d.ts +8 -0
  320. package/dist/types/components/filter-chip/filter-operators.d.ts +22 -0
  321. package/dist/types/components/filter-condition-picker/filter-condition-picker.d.ts +60 -0
  322. package/dist/types/components/inline-image/inline-image.d.ts +32 -0
  323. package/dist/types/components/lime-query-builder/expressions/lime-query-filter-comparison-editor.d.ts +8 -4
  324. package/dist/types/components/lime-query-builder/expressions/lime-query-operators.d.ts +16 -9
  325. package/dist/types/components/rule-editor/value-comparison-editor/value-comparison-editor.d.ts +7 -2
  326. package/dist/types/components/text-editor/text-editor.d.ts +17 -11
  327. package/dist/types/components.d.ts +257 -14
  328. package/dist/types/index.d.ts +1 -0
  329. package/dist/types/interface.d.ts +0 -5
  330. package/dist/types/util/file-contents-url.d.ts +9 -0
  331. package/package.json +14 -15
  332. package/dist/collection/components/text-editor/uploader/building-blocks-upload-handler.js +0 -112
  333. package/dist/lime-crm-building-blocks/p-0843b50b.entry.js +0 -1
  334. package/dist/lime-crm-building-blocks/p-29758303.entry.js +0 -1
  335. package/dist/lime-crm-building-blocks/p-39009b47.entry.js +0 -1
  336. package/dist/lime-crm-building-blocks/p-5b819d10.entry.js +0 -1
  337. package/dist/lime-crm-building-blocks/p-752742f8.entry.js +0 -1
  338. package/dist/lime-crm-building-blocks/p-7a158104.entry.js +0 -1
  339. package/dist/lime-crm-building-blocks/p-817e2952.entry.js +0 -1
  340. package/dist/lime-crm-building-blocks/p-92679e20.entry.js +0 -1
  341. package/dist/lime-crm-building-blocks/p-927e446d.entry.js +0 -1
  342. package/dist/lime-crm-building-blocks/p-B-WBKAaa.js +0 -1
  343. package/dist/lime-crm-building-blocks/p-BjXRsiQr.js +0 -1
  344. package/dist/lime-crm-building-blocks/p-Bkno2RtN.js +0 -1
  345. package/dist/lime-crm-building-blocks/p-c891125e.entry.js +0 -1
  346. package/dist/lime-crm-building-blocks/p-d7d6d21b.entry.js +0 -1
  347. package/dist/lime-crm-building-blocks/p-d95f66c8.entry.js +0 -1
  348. package/dist/lime-crm-building-blocks/p-ec1e079e.entry.js +0 -1
  349. package/dist/types/components/text-editor/uploader/building-blocks-upload-handler.d.ts +0 -62
@@ -0,0 +1,256 @@
1
+ import { Host, h } from "@stencil/core";
2
+ import { PlatformServiceName, } from "@limetech/lime-web-components";
3
+ import { getConditionsForPropertyType, getFilterConditionIcon, getFilterConditionLabelKey, } from "../filter-chip/filter-condition-icons";
4
+ /**
5
+ * Accessible label for the control: set for screen readers but hidden visually
6
+ * (see the stylesheet). Reuses the shared, localized "Operator" label.
7
+ */
8
+ const LABEL_KEY = 'webclient.operator';
9
+ /**
10
+ * Filter condition picker
11
+ *
12
+ * A dropdown for choosing a single filter condition, such as Is / Is not /
13
+ * Greater than / Contains / Between / After / Empty / …
14
+ *
15
+ * It is presentational and speaks the shared filter vocabulary: give it a
16
+ * `propertyType` and it lists the right conditions for that data type, each with
17
+ * the correct icon and localized wording (e.g. `greater-than` reads "Greater
18
+ * than" for a number but "After" for a date, and `equals` reads "Is" for an
19
+ * option).
20
+ *
21
+ * A consumer that supports only a subset of conditions passes its own
22
+ * list via `conditions`; the consumer maps its domain operators to and from the
23
+ * `FilterCondition` values itself.
24
+ *
25
+ * @exampleComponent limebb-example-filter-condition-picker-basic
26
+ * @exampleComponent limebb-example-filter-condition-picker-property-types
27
+ * @exampleComponent limebb-example-filter-condition-picker-boolean
28
+ * @exampleComponent limebb-example-filter-condition-picker-custom
29
+ */
30
+ export class FilterConditionPicker {
31
+ constructor() {
32
+ /**
33
+ * Whether the picker is disabled.
34
+ */
35
+ this.disabled = false;
36
+ this.handleChange = (event) => {
37
+ event.stopPropagation();
38
+ if (event.detail) {
39
+ this.change.emit(event.detail.value);
40
+ }
41
+ };
42
+ }
43
+ render() {
44
+ const items = this.buildItems();
45
+ const selected = this.selectedOption(items);
46
+ return (h(Host, { key: 'ca926963d368460db20fa8961f49825d19ae2c07' }, h("limel-select", { key: '5571b580b7da63d1a95fef6cb9b204ed3b32cf75', class: "condition", label: this.accessibleLabel, disabled: this.disabled, options: items, value: selected, onChange: this.handleChange })));
47
+ }
48
+ buildItems() {
49
+ var _a;
50
+ const conditions = (_a = this.conditions) !== null && _a !== void 0 ? _a : getConditionsForPropertyType(this.propertyType);
51
+ // Divider before the empty / not-empty group and before "matches".
52
+ const emptyGroupStart = conditions.findIndex((condition) => condition === 'empty' || condition === 'not-empty');
53
+ const matchesIndex = conditions.indexOf('matches');
54
+ const items = [];
55
+ for (const [index, condition] of conditions.entries()) {
56
+ if (index > 0 &&
57
+ (index === emptyGroupStart || index === matchesIndex)) {
58
+ items.push({ separator: true });
59
+ }
60
+ items.push({
61
+ value: condition,
62
+ text: this.conditionLabel(condition),
63
+ icon: getFilterConditionIcon(condition, this.propertyType),
64
+ });
65
+ }
66
+ return items;
67
+ }
68
+ selectedOption(items) {
69
+ const options = items.filter((item) => !('separator' in item));
70
+ return options.find((option) => option.value === this.value);
71
+ }
72
+ get accessibleLabel() {
73
+ var _a;
74
+ return (_a = this.translate(LABEL_KEY)) !== null && _a !== void 0 ? _a : 'Operator';
75
+ }
76
+ conditionLabel(condition) {
77
+ var _a;
78
+ const key = getFilterConditionLabelKey(condition, this.propertyType);
79
+ return (_a = (key ? this.translate(key) : undefined)) !== null && _a !== void 0 ? _a : condition;
80
+ }
81
+ translate(key) {
82
+ var _a;
83
+ const translated = (_a = this.translator) === null || _a === void 0 ? void 0 : _a.get(key);
84
+ return translated && translated !== key ? translated : undefined;
85
+ }
86
+ get translator() {
87
+ var _a;
88
+ try {
89
+ return (_a = this.platform) === null || _a === void 0 ? void 0 : _a.get(PlatformServiceName.Translate);
90
+ }
91
+ catch (_b) {
92
+ return;
93
+ }
94
+ }
95
+ static get is() { return "limebb-filter-condition-picker"; }
96
+ static get encapsulation() { return "shadow"; }
97
+ static get originalStyleUrls() {
98
+ return {
99
+ "$": ["filter-condition-picker.scss"]
100
+ };
101
+ }
102
+ static get styleUrls() {
103
+ return {
104
+ "$": ["filter-condition-picker.css"]
105
+ };
106
+ }
107
+ static get properties() {
108
+ return {
109
+ "platform": {
110
+ "type": "unknown",
111
+ "mutable": false,
112
+ "complexType": {
113
+ "original": "LimeWebComponentPlatform",
114
+ "resolved": "LimeWebComponentPlatform | undefined",
115
+ "references": {
116
+ "LimeWebComponentPlatform": {
117
+ "location": "import",
118
+ "path": "@limetech/lime-web-components",
119
+ "id": "node_modules::LimeWebComponentPlatform",
120
+ "referenceLocation": "LimeWebComponentPlatform"
121
+ }
122
+ }
123
+ },
124
+ "required": false,
125
+ "optional": true,
126
+ "docs": {
127
+ "tags": [],
128
+ "text": "Platform service provider"
129
+ },
130
+ "getter": false,
131
+ "setter": false
132
+ },
133
+ "value": {
134
+ "type": "string",
135
+ "mutable": false,
136
+ "complexType": {
137
+ "original": "FilterCondition",
138
+ "resolved": "\"begins-with\" | \"between\" | \"connected-to\" | \"contains\" | \"current\" | \"empty\" | \"ends-with\" | \"equals\" | \"greater-than\" | \"greater-than-or-equal\" | \"in-filter-set\" | \"less-than\" | \"less-than-or-equal\" | \"matches\" | \"next\" | \"not-begins-with\" | \"not-between\" | \"not-connected-to\" | \"not-contains\" | \"not-empty\" | \"not-ends-with\" | \"not-equals\" | \"not-in-filter-set\" | \"previous\" | undefined",
139
+ "references": {
140
+ "FilterCondition": {
141
+ "location": "import",
142
+ "path": "../filter-chip/filter-chip.types",
143
+ "id": "src/components/filter-chip/filter-chip.types.ts::FilterCondition",
144
+ "referenceLocation": "FilterCondition"
145
+ }
146
+ }
147
+ },
148
+ "required": false,
149
+ "optional": true,
150
+ "docs": {
151
+ "tags": [],
152
+ "text": "The currently selected condition."
153
+ },
154
+ "getter": false,
155
+ "setter": false,
156
+ "reflect": false,
157
+ "attribute": "value"
158
+ },
159
+ "propertyType": {
160
+ "type": "string",
161
+ "mutable": false,
162
+ "complexType": {
163
+ "original": "PropertyType",
164
+ "resolved": "\"belongsto\" | \"date\" | \"decimal\" | \"file\" | \"hasandbelongstomany\" | \"hasmany\" | \"hasone\" | \"integer\" | \"link\" | \"month\" | \"option\" | \"percent\" | \"phone\" | \"quarter\" | \"set\" | \"string\" | \"system\" | \"text\" | \"time\" | \"timeofday\" | \"user\" | \"xml\" | \"year\" | \"yesno\" | undefined",
165
+ "references": {
166
+ "PropertyType": {
167
+ "location": "import",
168
+ "path": "@limetech/lime-web-components",
169
+ "id": "node_modules::PropertyType",
170
+ "referenceLocation": "PropertyType"
171
+ }
172
+ }
173
+ },
174
+ "required": false,
175
+ "optional": true,
176
+ "docs": {
177
+ "tags": [],
178
+ "text": "Data type of the filtered property; selects which conditions are listed\nand their type-specific wording and icons."
179
+ },
180
+ "getter": false,
181
+ "setter": false,
182
+ "reflect": false,
183
+ "attribute": "property-type"
184
+ },
185
+ "conditions": {
186
+ "type": "unknown",
187
+ "mutable": false,
188
+ "complexType": {
189
+ "original": "FilterCondition[]",
190
+ "resolved": "FilterCondition[] | undefined",
191
+ "references": {
192
+ "FilterCondition": {
193
+ "location": "import",
194
+ "path": "../filter-chip/filter-chip.types",
195
+ "id": "src/components/filter-chip/filter-chip.types.ts::FilterCondition",
196
+ "referenceLocation": "FilterCondition"
197
+ }
198
+ }
199
+ },
200
+ "required": false,
201
+ "optional": true,
202
+ "docs": {
203
+ "tags": [],
204
+ "text": "Explicit conditions to offer, overriding the per-type catalog."
205
+ },
206
+ "getter": false,
207
+ "setter": false
208
+ },
209
+ "disabled": {
210
+ "type": "boolean",
211
+ "mutable": false,
212
+ "complexType": {
213
+ "original": "boolean",
214
+ "resolved": "boolean",
215
+ "references": {}
216
+ },
217
+ "required": false,
218
+ "optional": false,
219
+ "docs": {
220
+ "tags": [],
221
+ "text": "Whether the picker is disabled."
222
+ },
223
+ "getter": false,
224
+ "setter": false,
225
+ "reflect": true,
226
+ "attribute": "disabled",
227
+ "defaultValue": "false"
228
+ }
229
+ };
230
+ }
231
+ static get events() {
232
+ return [{
233
+ "method": "change",
234
+ "name": "change",
235
+ "bubbles": true,
236
+ "cancelable": true,
237
+ "composed": true,
238
+ "docs": {
239
+ "tags": [],
240
+ "text": "Emitted when the user selects a condition."
241
+ },
242
+ "complexType": {
243
+ "original": "FilterCondition",
244
+ "resolved": "\"begins-with\" | \"between\" | \"connected-to\" | \"contains\" | \"current\" | \"empty\" | \"ends-with\" | \"equals\" | \"greater-than\" | \"greater-than-or-equal\" | \"in-filter-set\" | \"less-than\" | \"less-than-or-equal\" | \"matches\" | \"next\" | \"not-begins-with\" | \"not-between\" | \"not-connected-to\" | \"not-contains\" | \"not-empty\" | \"not-ends-with\" | \"not-equals\" | \"not-in-filter-set\" | \"previous\"",
245
+ "references": {
246
+ "FilterCondition": {
247
+ "location": "import",
248
+ "path": "../filter-chip/filter-chip.types",
249
+ "id": "src/components/filter-chip/filter-chip.types.ts::FilterCondition",
250
+ "referenceLocation": "FilterCondition"
251
+ }
252
+ }
253
+ }
254
+ }];
255
+ }
256
+ }
@@ -35,7 +35,7 @@ export class IconPicker {
35
35
  icon: this.value,
36
36
  };
37
37
  }
38
- return (h("limel-picker", { key: 'd71d9babaf189723ccb3ece1722826054e109f70', label: this.label, helperText: this.helperText, disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, required: this.required, value: value, searcher: this.search, onChange: this.handleChange, badgeIcons: false, leadingIcon: "search", searchLabel: "Start typing to find the right icon" }));
38
+ return (h("limel-picker", { key: 'bf6b76bbcea838150261e9e0037b1d7ca1ee08d1', label: this.label, helperText: this.helperText, disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, required: this.required, value: value, searcher: this.search, onChange: this.handleChange, badgeIcons: false, leadingIcon: "search", searchLabel: "Start typing to find the right icon" }));
39
39
  }
40
40
  static get is() { return "limebb-icon-picker"; }
41
41
  static get encapsulation() { return "shadow"; }
@@ -92,7 +92,7 @@ export class InfoTileAdminConfig {
92
92
  },
93
93
  ];
94
94
  return [
95
- h("limel-button-group", { key: '5ec61e22f0049afba77310ef1162c361a71f3290', value: buttons.filter(this.isValidButton), onChange: this.handleChangeType }),
95
+ h("limel-button-group", { key: '68999f607fd66a5a451929d6720200734c6505ea', value: buttons.filter(this.isValidButton), onChange: this.handleChangeType }),
96
96
  this.renderFormatConfig(),
97
97
  ];
98
98
  }
@@ -116,7 +116,7 @@ export class InfoTile {
116
116
  const errorProps = Object.assign(Object.assign({}, baseProps), { icon: 'error', prefix: 'ERROR', loading: true, label: this.getLabel(filter) });
117
117
  const normalProps = Object.assign(Object.assign({}, baseProps), { label: this.getLabel(filter), link: this.getLink(filter), loading: this.loading, value: value === null || value === void 0 ? void 0 : value.value.trim() });
118
118
  const props = !filter || this.error ? errorProps : normalProps;
119
- return (h("limel-info-tile", Object.assign({ key: '8ce57413673c0feddc8cff70c66845ddacee5f74', class: { error: !filter || this.error } }, props)));
119
+ return (h("limel-info-tile", Object.assign({ key: '802c93fade2b3aff10e53c1a970798b994bff2d2', class: { error: !filter || this.error } }, props)));
120
120
  }
121
121
  /**
122
122
  * Effective `reducedPresence` for this render. The boolean prop
@@ -443,7 +443,7 @@ export class InfoTile {
443
443
  "mutable": false,
444
444
  "complexType": {
445
445
  "original": "AggregateOperator",
446
- "resolved": "\"AVG\" | \"COUNT\" | \"MAX\" | \"MIN\" | \"SUM\"",
446
+ "resolved": "\"AVG\" | \"COUNT\" | \"GROUP\" | \"MAX\" | \"MIN\" | \"SUM\"",
447
447
  "references": {
448
448
  "AggregateOperator": {
449
449
  "location": "import",
@@ -15,6 +15,7 @@ export class InfoTileLoader {
15
15
  return value;
16
16
  }
17
17
  async loadBasicInfoTile(aggregator) {
18
+ var _a;
18
19
  const filter = this.getFilter(aggregator.filter);
19
20
  if (!filter) {
20
21
  throw new Error(`Filter "${aggregator.filter}" not found`);
@@ -33,7 +34,7 @@ export class InfoTileLoader {
33
34
  },
34
35
  filter: filter.filter,
35
36
  });
36
- return result.aggregates.infotiles[0].value;
37
+ return (_a = result.aggregates.infotiles[0].value) !== null && _a !== void 0 ? _a : 0;
37
38
  }
38
39
  async loadLimeObjectInfoTile(aggregator, identifier) {
39
40
  await this.objectRepository.loadObject(identifier.limetype, identifier.id, {
@@ -0,0 +1,12 @@
1
+ :host {
2
+ display: inline-block;
3
+ max-width: 100%;
4
+ }
5
+
6
+ img {
7
+ display: inline-block;
8
+ max-width: 100%;
9
+ height: auto;
10
+ border-radius: 0.25rem;
11
+ vertical-align: bottom;
12
+ }
@@ -0,0 +1,146 @@
1
+ import { getElement, h } from "@stencil/core";
2
+ import { PlatformServiceName, } from "@limetech/lime-web-components";
3
+ import { findParentElement } from "../../util/dom";
4
+ import { getFileContentsUrl } from "../../util/file-contents-url";
5
+ /**
6
+ * An inline image, referenced only by its file id so stored content stays
7
+ * portable. The contents URL is resolved at render time. Used for read-only
8
+ * rendering via `limel-markdown`; inside the editor the same tag is handled by
9
+ * `limel-text-editor`.
10
+ *
11
+ * @private
12
+ */
13
+ export class InlineImage {
14
+ constructor() {
15
+ /**
16
+ * Alternative text for the image.
17
+ */
18
+ this.alt = '';
19
+ this.appName = '';
20
+ }
21
+ connectedCallback() {
22
+ var _a;
23
+ const host = findParentElement(getElement(this), this.hasPlatform);
24
+ this.appName =
25
+ (_a = host === null || host === void 0 ? void 0 : host.platform.get(PlatformServiceName.Application).getApplicationName()) !== null && _a !== void 0 ? _a : '';
26
+ }
27
+ render() {
28
+ if (!this.imageId || !this.appName) {
29
+ return;
30
+ }
31
+ return (h("img", { src: getFileContentsUrl(this.appName, this.imageId), alt: this.alt, style: {
32
+ width: this.toCssSize(this.width),
33
+ height: this.toCssSize(this.height),
34
+ maxWidth: '100%',
35
+ } }));
36
+ }
37
+ hasPlatform(element) {
38
+ return ('platform' in element &&
39
+ !!element.platform &&
40
+ typeof element.platform === 'object');
41
+ }
42
+ toCssSize(value) {
43
+ if (!value) {
44
+ return undefined;
45
+ }
46
+ return /^\d+$/.test(value) ? `${value}px` : value;
47
+ }
48
+ static get is() { return "limebb-inline-image"; }
49
+ static get encapsulation() { return "shadow"; }
50
+ static get originalStyleUrls() {
51
+ return {
52
+ "$": ["inline-image.scss"]
53
+ };
54
+ }
55
+ static get styleUrls() {
56
+ return {
57
+ "$": ["inline-image.css"]
58
+ };
59
+ }
60
+ static get properties() {
61
+ return {
62
+ "imageId": {
63
+ "type": "string",
64
+ "mutable": false,
65
+ "complexType": {
66
+ "original": "string",
67
+ "resolved": "string",
68
+ "references": {}
69
+ },
70
+ "required": false,
71
+ "optional": false,
72
+ "docs": {
73
+ "tags": [],
74
+ "text": "Id of the file backing this image. Maps to the `image-id` attribute."
75
+ },
76
+ "getter": false,
77
+ "setter": false,
78
+ "reflect": false,
79
+ "attribute": "image-id"
80
+ },
81
+ "alt": {
82
+ "type": "string",
83
+ "mutable": false,
84
+ "complexType": {
85
+ "original": "string",
86
+ "resolved": "string",
87
+ "references": {}
88
+ },
89
+ "required": false,
90
+ "optional": false,
91
+ "docs": {
92
+ "tags": [],
93
+ "text": "Alternative text for the image."
94
+ },
95
+ "getter": false,
96
+ "setter": false,
97
+ "reflect": false,
98
+ "attribute": "alt",
99
+ "defaultValue": "''"
100
+ },
101
+ "width": {
102
+ "type": "string",
103
+ "mutable": false,
104
+ "complexType": {
105
+ "original": "string",
106
+ "resolved": "string | undefined",
107
+ "references": {}
108
+ },
109
+ "required": false,
110
+ "optional": true,
111
+ "docs": {
112
+ "tags": [],
113
+ "text": "Rendered width (e.g. `400` or `400px`)."
114
+ },
115
+ "getter": false,
116
+ "setter": false,
117
+ "reflect": false,
118
+ "attribute": "width"
119
+ },
120
+ "height": {
121
+ "type": "string",
122
+ "mutable": false,
123
+ "complexType": {
124
+ "original": "string",
125
+ "resolved": "string | undefined",
126
+ "references": {}
127
+ },
128
+ "required": false,
129
+ "optional": true,
130
+ "docs": {
131
+ "tags": [],
132
+ "text": "Rendered height (e.g. `300` or `300px`)."
133
+ },
134
+ "getter": false,
135
+ "setter": false,
136
+ "reflect": false,
137
+ "attribute": "height"
138
+ }
139
+ };
140
+ }
141
+ static get states() {
142
+ return {
143
+ "appName": {}
144
+ };
145
+ }
146
+ }
@@ -27,7 +27,7 @@ export class KanbanGroup {
27
27
  };
28
28
  }
29
29
  render() {
30
- return (h(Host, { key: '074640215f29d21e8d3f38b81850823e8a93ce3c' }, this.renderHelp(), this.renderGroupHeading(), this.renderGroupSummary(), this.renderItems()));
30
+ return (h(Host, { key: '5c0675c4edff236ac8b4d90c93d418e3b0c18a9c' }, this.renderHelp(), this.renderGroupHeading(), this.renderGroupSummary(), this.renderItems()));
31
31
  }
32
32
  renderGroupSummary() {
33
33
  if (!this.summary || !this.totalCount) {
@@ -55,7 +55,7 @@ export class KanbanItemComponent {
55
55
  }
56
56
  render() {
57
57
  var _a, _b;
58
- return (h(Host, { key: '6eb7fa30141a62e40588a59f17d27392dac78b90', id: this.item.id.toString(), class: {
58
+ return (h(Host, { key: '282342e6a11234154e4cbcc8df113aafd5cd9cd2', id: this.item.id.toString(), class: {
59
59
  'has-unpromoted-actions': !!((_a = this.item.unpromotedActions) === null || _a === void 0 ? void 0 : _a.length),
60
60
  'is-selected': !!((_b = this.item) === null || _b === void 0 ? void 0 : _b.selected),
61
61
  }, style: {
@@ -1,10 +1,10 @@
1
1
  import { Operator, } from "@limetech/lime-web-components";
2
- // Intentionally diverges from the same-named map in
3
- // `lime-query-filter-comparison.tsx` (the comparison-editor's operator
4
- // vocabulary): that map has no `NOT` entry and maps `IN` to `'in-filter-set'`,
5
- // whereas here a keyed bare `NOT` reads as `not-equals` and a bare `IN` set
6
- // reads as `equals` (see `describeKeyed`). They are deliberately not the same
7
- // table — do not reconcile them into one.
2
+ // Intentionally diverges from the write-side map in `filter-operators.ts` (the
3
+ // operator vocabulary the query builder and rule editor author with): that map
4
+ // has no `NOT` entry and maps `IN` to `'in-filter-set'`, whereas here a keyed
5
+ // bare `NOT` reads as `not-equals` and a bare `IN` set reads as `equals` (see
6
+ // `describeKeyed`). They are deliberately not the same table — do not reconcile
7
+ // them into one.
8
8
  // Prototype-free (`Object.create(null)`): a junk `op` such as `'__proto__'` or
9
9
  // `'constructor'` resolves to `undefined` rather than an inherited
10
10
  // `Object.prototype` member, so a malformed expression falls through to "stays
@@ -1,6 +1,7 @@
1
- import { Operator, PlatformServiceName, } from "@limetech/lime-web-components";
1
+ import { Operator, } from "@limetech/lime-web-components";
2
2
  import { Host, h } from "@stencil/core";
3
- import { LIME_QUERY_OPERATORS, } from "./lime-query-operators";
3
+ import { conditionToOperator, operatorToCondition, } from "../../filter-chip/filter-operators";
4
+ import { LIME_QUERY_CONDITIONS, } from "./lime-query-operators";
4
5
  /**
5
6
  * Inline editor for a single comparison expression. `shadow: true` so
6
7
  * its stylesheet travels with the host when `limel-popover` portals it
@@ -14,9 +15,12 @@ export class LimeQueryFilterComparisonEditorComponent {
14
15
  event.stopPropagation();
15
16
  this.expressionChange.emit(Object.assign(Object.assign({}, this.expression), { key: event.detail }));
16
17
  };
17
- this.handleOperatorChange = (event) => {
18
+ this.handleConditionChange = (event) => {
18
19
  event.stopPropagation();
19
- const newOperator = event.detail.value;
20
+ const newOperator = conditionToOperator(event.detail);
21
+ if (!newOperator) {
22
+ return;
23
+ }
20
24
  const oldOperator = this.expression.op;
21
25
  let convertedValue = this.expression.exp;
22
26
  // IN expects an array; other operators expect a single value.
@@ -48,23 +52,14 @@ export class LimeQueryFilterComparisonEditorComponent {
48
52
  (_a = this.propertySelectorEl) === null || _a === void 0 ? void 0 : _a.focus();
49
53
  }
50
54
  render() {
51
- return (h(Host, { key: '05ca2dc867f8c42e2ca1299cd33c0f3faae0ed31' }, this.renderPropertySelector(), this.renderOperator(), this.renderValueInput()));
55
+ return (h(Host, { key: '528f313843bb6e8e779fc3a5603c10769cbd183b' }, this.renderPropertySelector(), this.renderConditionPicker(), this.renderValueInput()));
52
56
  }
53
57
  renderPropertySelector() {
54
58
  return (h("limebb-property-selector", { ref: (el) => (this.propertySelectorEl = el), class: "property", label: "Property", platform: this.platform, context: this.context, limetype: this.limetype, value: this.expression.key, required: true, onChange: this.handlePropertyChange }));
55
59
  }
56
- renderOperator() {
60
+ renderConditionPicker() {
57
61
  const operatorHasBeenSet = !!this.expression.op;
58
- const options = LIME_QUERY_OPERATORS.map((op) => {
59
- var _a, _b;
60
- return ({
61
- text: (_b = (_a = this.translator) === null || _a === void 0 ? void 0 : _a.get(op.label)) !== null && _b !== void 0 ? _b : op.label,
62
- value: op.value,
63
- icon: op.icon ? { name: op.icon } : undefined,
64
- });
65
- });
66
- const selectedOption = options.find((o) => o.value === this.expression.op);
67
- return (h("limel-select", { class: "operator", label: "Operator", value: selectedOption, options: options, disabled: !operatorHasBeenSet && !this.expression.key, onChange: this.handleOperatorChange }));
62
+ return (h("limebb-filter-condition-picker", { class: "operator", platform: this.platform, propertyType: this.propertyType, conditions: LIME_QUERY_CONDITIONS, value: operatorToCondition(this.expression.op), disabled: !operatorHasBeenSet && !this.expression.key, onChange: this.handleConditionChange }));
68
63
  }
69
64
  renderValueInput() {
70
65
  if (!this.expression.op) {
@@ -72,10 +67,6 @@ export class LimeQueryFilterComparisonEditorComponent {
72
67
  }
73
68
  return (h("limebb-lime-query-value-input", { class: "value", label: "Value", platform: this.platform, context: this.context, limetype: this.limetype, activeLimetype: this.activeLimetype, propertyPath: this.expression.key, operator: this.expression.op, value: this.expression.exp, onChange: this.handleValueChange }));
74
69
  }
75
- get translator() {
76
- var _a;
77
- return (_a = this.platform) === null || _a === void 0 ? void 0 : _a.get(PlatformServiceName.Translate);
78
- }
79
70
  static get is() { return "limebb-lime-query-filter-comparison-editor"; }
80
71
  static get encapsulation() { return "shadow"; }
81
72
  static get delegatesFocus() { return true; }
@@ -200,6 +191,32 @@ export class LimeQueryFilterComparisonEditorComponent {
200
191
  },
201
192
  "getter": false,
202
193
  "setter": false
194
+ },
195
+ "propertyType": {
196
+ "type": "string",
197
+ "mutable": false,
198
+ "complexType": {
199
+ "original": "PropertyType",
200
+ "resolved": "\"belongsto\" | \"date\" | \"decimal\" | \"file\" | \"hasandbelongstomany\" | \"hasmany\" | \"hasone\" | \"integer\" | \"link\" | \"month\" | \"option\" | \"percent\" | \"phone\" | \"quarter\" | \"set\" | \"string\" | \"system\" | \"text\" | \"time\" | \"timeofday\" | \"user\" | \"xml\" | \"year\" | \"yesno\" | undefined",
201
+ "references": {
202
+ "PropertyType": {
203
+ "location": "import",
204
+ "path": "@limetech/lime-web-components",
205
+ "id": "node_modules::PropertyType",
206
+ "referenceLocation": "PropertyType"
207
+ }
208
+ }
209
+ },
210
+ "required": false,
211
+ "optional": true,
212
+ "docs": {
213
+ "tags": [],
214
+ "text": "Data type of the selected property; lets the picker pick type-specific\nwording and icons."
215
+ },
216
+ "getter": false,
217
+ "setter": false,
218
+ "reflect": false,
219
+ "attribute": "property-type"
203
220
  }
204
221
  };
205
222
  }
@@ -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(' › ');