@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
@@ -1 +1 @@
1
- import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as l,transformTag as n}from"@stencil/core/internal/client";const o=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.change=i(this,"change",7),this.handleChangeType=t=>{t.stopPropagation();const e=t.detail.id;"none"===e?this.change.emit():this.change.emit("date"===e||"relative-date"===e?{type:e}:"percent"===e?{type:"number",options:{style:"percent"},suffix:["percentSign"]}:{type:"number",options:{style:e}})},this.isValidButton=t=>!this.type||"none"===t.id||"none"!==this.type&&("date"===this.type?t.id.includes("date"):!t.id.includes("date"))}render(){var t,e,i,n,o,s,r,d,a,u,m;const c=[{id:"none",title:"No formatting",selected:!(null===(t=this.value)||void 0===t?void 0:t.type)},{id:"currency",title:"Currency",selected:"number"===(null===(e=this.value)||void 0===e?void 0:e.type)&&"currency"===(null===(i=this.value.options)||void 0===i?void 0:i.style)},{id:"decimal",title:"Decimal",selected:"number"===(null===(n=this.value)||void 0===n?void 0:n.type)&&"decimal"===(null===(o=this.value.options)||void 0===o?void 0:o.style)},{id:"percent",title:"Percent",selected:"number"===(null===(s=this.value)||void 0===s?void 0:s.type)&&"percent"===(null===(r=this.value.options)||void 0===r?void 0:r.style)},{id:"unit",title:"Unit",selected:"number"===(null===(d=this.value)||void 0===d?void 0:d.type)&&"unit"===(null===(a=this.value.options)||void 0===a?void 0:a.style)},{id:"date",title:"Date",selected:"date"===(null===(u=this.value)||void 0===u?void 0:u.type)},{id:"relative-date",title:"Relative date",selected:"relative-date"===(null===(m=this.value)||void 0===m?void 0:m.type)}];return[l("limel-button-group",{key:"5ec61e22f0049afba77310ef1162c361a71f3290",value:c.filter(this.isValidButton),onChange:this.handleChangeType}),this.renderFormatConfig()]}renderFormatConfig(){var t,e;if(!(null===(t=this.value)||void 0===t?void 0:t.type))return;let i=this.value.type;this.isNumberFormat(this.value)&&(i=null===(e=this.value.options)||void 0===e?void 0:e.style);const n=`limebb-info-tile-${i}-format`;return customElements.get(n)?l(n,{platform:this.platform,context:this.context,class:"format",value:this.value}):void 0}isNumberFormat(t){return"number"===(null==t?void 0:t.type)}static get style(){return":host(limebb-info-tile-format){display:grid;gap:1rem}limel-button-group{grid-column:1/-1}.format{display:grid;gap:0.5rem;grid-template-columns:repeat(auto-fit, minmax(8rem, 1fr))}"}},[1,"limebb-info-tile-format",{platform:[16],context:[16],type:[1],value:[16]}]),s=o,r=function(){"undefined"!=typeof customElements&&["limebb-info-tile-format"].forEach((t=>{"limebb-info-tile-format"===t&&(customElements.get(n(t))||customElements.define(n(t),o))}))};export{s as LimebbInfoTileFormat,r as defineCustomElement}
1
+ import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as l,transformTag as n}from"@stencil/core/internal/client";const o=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.change=i(this,"change",7),this.handleChangeType=t=>{t.stopPropagation();const e=t.detail.id;"none"===e?this.change.emit():this.change.emit("date"===e||"relative-date"===e?{type:e}:"percent"===e?{type:"number",options:{style:"percent"},suffix:["percentSign"]}:{type:"number",options:{style:e}})},this.isValidButton=t=>!this.type||"none"===t.id||"none"!==this.type&&("date"===this.type?t.id.includes("date"):!t.id.includes("date"))}render(){var t,e,i,n,o,s,r,d,a,u,m;const c=[{id:"none",title:"No formatting",selected:!(null===(t=this.value)||void 0===t?void 0:t.type)},{id:"currency",title:"Currency",selected:"number"===(null===(e=this.value)||void 0===e?void 0:e.type)&&"currency"===(null===(i=this.value.options)||void 0===i?void 0:i.style)},{id:"decimal",title:"Decimal",selected:"number"===(null===(n=this.value)||void 0===n?void 0:n.type)&&"decimal"===(null===(o=this.value.options)||void 0===o?void 0:o.style)},{id:"percent",title:"Percent",selected:"number"===(null===(s=this.value)||void 0===s?void 0:s.type)&&"percent"===(null===(r=this.value.options)||void 0===r?void 0:r.style)},{id:"unit",title:"Unit",selected:"number"===(null===(d=this.value)||void 0===d?void 0:d.type)&&"unit"===(null===(a=this.value.options)||void 0===a?void 0:a.style)},{id:"date",title:"Date",selected:"date"===(null===(u=this.value)||void 0===u?void 0:u.type)},{id:"relative-date",title:"Relative date",selected:"relative-date"===(null===(m=this.value)||void 0===m?void 0:m.type)}];return[l("limel-button-group",{key:"68999f607fd66a5a451929d6720200734c6505ea",value:c.filter(this.isValidButton),onChange:this.handleChangeType}),this.renderFormatConfig()]}renderFormatConfig(){var t,e;if(!(null===(t=this.value)||void 0===t?void 0:t.type))return;let i=this.value.type;this.isNumberFormat(this.value)&&(i=null===(e=this.value.options)||void 0===e?void 0:e.style);const n=`limebb-info-tile-${i}-format`;return customElements.get(n)?l(n,{platform:this.platform,context:this.context,class:"format",value:this.value}):void 0}isNumberFormat(t){return"number"===(null==t?void 0:t.type)}static get style(){return":host(limebb-info-tile-format){display:grid;gap:1rem}limel-button-group{grid-column:1/-1}.format{display:grid;gap:0.5rem;grid-template-columns:repeat(auto-fit, minmax(8rem, 1fr))}"}},[1,"limebb-info-tile-format",{platform:[16],context:[16],type:[1],value:[16]}]),s=o,r=function(){"undefined"!=typeof customElements&&["limebb-info-tile-format"].forEach((t=>{"limebb-info-tile-format"===t&&(customElements.get(n(t))||customElements.define(n(t),o))}))};export{s as LimebbInfoTileFormat,r as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as t,HTMLElement as e,h as i,transformTag as r}from"@stencil/core/internal/client";import{b as s,n as o,l as n,d as a,L as l,r as h}from"./index.esm.js";import{a as c}from"./limetype.js";class u{constructor(t){this.getState=t,this.contextType="info-tile"}getContext(){const{limetype:t,filterId:e,filterName:i,aggregateOperator:r,propertyName:s,value:o,label:n}=this.getState();if(!t||!e)return console.debug("InfoTileContextProvider: No limetype or filterId available"),null;const a={widgetType:"info-tile",limetype:t,filterId:e};return i&&(a.filterName=i),a.aggregateOperator=r,s&&(a.propertyName=s),void 0!==o&&(a.value=o),n&&(a.label=n),{data:a,purpose:"Shows an aggregated value from a filter. Clicking navigates to the explorer with that filter applied."}}}class f{constructor(t,e=[]){this.platform=t,this.filters=e}async load(t,e){let i;return i=this.isObjectIdentifier(e)?await this.loadLimeObjectInfoTile(t,e):await this.loadBasicInfoTile(t),i}async loadBasicInfoTile(t){const e=this.getFilter(t.filter);if(!e)throw Error(`Filter "${t.filter}" not found`);return(await this.query.execute({limetype:e.limetype,responseFormat:{aggregates:{infotiles:{value:{op:t.operator,key:t.name}}}},filter:e.filter})).aggregates.infotiles[0].value}async loadLimeObjectInfoTile(t,e){await this.objectRepository.loadObject(e.limetype,e.id,{properties:[t]});const i=this.objectRepository.getObject(e.limetype,e.id);return null==i?void 0:i.getValue([t.name,t.key].join("."))}isObjectIdentifier(t){return!(!(null==t?void 0:t.limetype)||!(null==t?void 0:t.id))}getFilter(t){return this.filters.find((e=>e.id===t))}get query(){return this.platform.get(s.Query)}get objectRepository(){return this.platform.get(s.LimeObjectRepository)}}function d(t,e){return t&&(t[e]||t.en||t.en_us)||""}function p(t,e=[]){const{path:i,query:r}=function(t,e=[]){if(!t)return{path:"#"};const i=["explorer",t.limetype,t.id].join("/"),r=function(t,e){const i=[...e,t].filter((t=>void 0!==t));if(0!==i.length)return 1===i.length?i[0]:{op:o.AND,exp:i}}(t.filter,e);return r?{path:i,query:{filter:r}}:{path:i}}(t,e);return r?`${i}?${Object.entries(r).map((([t,e])=>`${t}=${encodeURIComponent(JSON.stringify(e))}`)).join("&")}`:i}class g{constructor(t){this.locale=t}format(t){let e=t+"";return"number"==typeof t?e=new Intl.NumberFormat(this.locale).format(t):new Date(t).getTime()&&(e=new Intl.DateTimeFormat(this.locale).format(new Date(t))),{value:e}}}class m{constructor(t){this.locale=t}format(t,e){const i=new Date(t);return{prefix:this.formatAffix("prefix",i,e),value:this.formatValue(i,e),suffix:this.formatAffix("suffix",i,e)}}formatValue(t,e){const i=Object.assign({},e.options);if(e.prefix)for(const t of e.prefix)delete i[t];if(e.suffix)for(const t of e.suffix)delete i[t];return new Intl.DateTimeFormat(this.locale,i).format(t)}formatAffix(t,e,i){const r=Object.assign({},i.options);for(const e of Object.keys(r))"hour12"!==e&&((i[t]||[]).includes(e)||delete r[e]);if(0!==Object.values(r).filter(Boolean).length)return new Intl.DateTimeFormat(this.locale,r).format(e)}}class v{constructor(t){this.locale=t}format(t,e){var i,r;const s=new Intl.NumberFormat(this.locale,e.options),o=s.formatToParts(t);let n="",a="",l="";for(const t of o)(null===(i=e.prefix)||void 0===i?void 0:i.includes(t.type))?n+=t.value:(null===(r=e.suffix)||void 0===r?void 0:r.includes(t.type))?l+=t.value:a+=t.value;return a||(a=s.format(t),n="",l=""),{prefix:n,value:a,suffix:l}}}class y{constructor(t){this.locale=t}format(t,e){const i=new Intl.RelativeTimeFormat(this.locale,e.options),{value:r,unit:s}=this.getRelativeTime(t),o=i.formatToParts(r,s);let n="",a="",l="";for(const t of o)"literal"!==t.type||a?"literal"===t.type&&a?l+=t.value:a+=t.value:n+=t.value;return a||(a=n||l,n="",l=""),{prefix:n,value:a,suffix:l}}getRelativeTime(t){const e=new Date(t),i=new Date,r=e.getTime()-i.getTime(),s=[{unit:"year",value:31536e6},{unit:"month",value:2592e6},{unit:"week",value:6048e5},{unit:"day",value:864e5},{unit:"hour",value:36e5},{unit:"minute",value:6e4},{unit:"second",value:1e3}];for(const t of s){const e=r/t.value;if(Math.abs(e)>=1)return{value:Math.round(e),unit:t.unit}}return{value:0,unit:"second"}}}class b{constructor(t){this.locale=t}createFormatter(t,e){return"number"===(null==t?void 0:t.type)&&"number"==typeof e?new v(this.locale):"date"===(null==t?void 0:t.type)&&"string"==typeof e?new m(this.locale):"relative-date"===(null==t?void 0:t.type)&&"string"==typeof e?new y(this.locale):new g(this.locale)}}var w=function(t,e,i,r){var s,o=arguments.length,n=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,i,r);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(n=(o<3?s(n):o>3?s(e,i,n):s(e,i))||n);return o>3&&n&&Object.defineProperty(e,i,n),n};const x=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.aggregateOperator=h.Count,this.loading=!1,this.error=!1}get hostElement(){return this.host}connectedCallback(){this.registerContextProvider()}disconnectedCallback(){var t;null===(t=this.unregisterContextProvider)||void 0===t||t.call(this)}componentWillLoad(){this.loadInfoTileValue()}watchFilterId(){this.loadInfoTileValue()}watchPropertyName(){this.loadInfoTileValue()}watchAggregateOperator(){this.loadInfoTileValue()}async loadInfoTileValue(){if(this.loading=!0,this.error=!1,this.getFilter()){try{const t={key:this.getKey(),name:this.propertyName,operator:this.aggregateOperator,filter:this.filterId};this.value=await this.loader.load(t,this.context)}catch(t){console.error(t),this.error=!0}this.loading=!1}else this.error=!0}getKey(){return Math.random().toString(36).slice(2)}render(){var t,e;const r=this.getFilter(),s=this.getFormattedValue(),o={disabled:this.disabled,icon:this.icon,prefix:(null===(t=null==s?void 0:s.prefix)||void 0===t?void 0:t.trim())||this.prefix,suffix:(null===(e=null==s?void 0:s.suffix)||void 0===e?void 0:e.trim())||this.suffix,reducedPresence:this.shouldReducePresence()},n=Object.assign(Object.assign({},o),{icon:"error",prefix:"ERROR",loading:!0,label:this.getLabel(r)}),a=Object.assign(Object.assign({},o),{label:this.getLabel(r),link:this.getLink(r),loading:this.loading,value:null==s?void 0:s.value.trim()});return i("limel-info-tile",Object.assign({key:"8ce57413673c0feddc8cff70c66845ddacee5f74",class:{error:!r||this.error}},!r||this.error?n:a))}shouldReducePresence(){if(this.reducedPresence)return!0;if(!this.reducedPresenceRule||this.loading)return!1;try{return this.ruleRegistry.compile(this.reducedPresenceRule).evaluate(this.ruleRegistry.scope({host:this.hostElement,with:{scalarValue:this.value}}))}catch(t){return!1}}getFormattedValue(){if(!this.value&&0!==this.value)return{value:""};try{return this.getFormatter(this.value).format(this.value,this.format)}catch(t){return new g(this.language).format(this.value)}}getLabel(t){return t?"string"==typeof this.label?this.translator.get(this.label):d(this.label&&"object"==typeof this.label?this.label:t.name,this.language):"No filter set is selected"}getLink(t){const e=c({targetLimetype:t?this.limetypes[t.limetype]:void 0,currentLimetype:this.context.limetype?this.limetypes[this.context.limetype]:void 0,contextLimetypeName:this.context.limetype,contextId:this.context.id,propertyName:this.propertyName});return{href:p(t,e&&this.context.id?[{key:e,op:o.EQUALS,exp:this.context.id}]:[])}}getFilter(){return function(t,e){if(t&&e)return t.find((t=>t.id===e))}(this.filters,this.filterId)}getFormatter(t){return new b(this.language).createFormatter(this.format,t)}get translator(){return this.platform.get(s.Translate)}get ruleRegistry(){return this.platform.get(s.RuleRegistry)}get language(){return this.platform.get(s.Application).getLanguage()}get loader(){return new f(this.platform,this.filters)}registerContextProvider(){const t=this.platform.get(s.AIContextRegistry);if(!(null==t?void 0:t.register))return;const e=new u((()=>{const t=this.getFilter();return{limetype:null==t?void 0:t.limetype,filterId:this.filterId,filterName:t?d(t.name,this.language):void 0,aggregateOperator:this.aggregateOperator,propertyName:this.propertyName,value:this.value,label:this.getLabel(t)}}));this.unregisterContextProvider=t.register(e,this.hostElement)}get host(){return this}static get watchers(){return{filterId:[{watchFilterId:0}],propertyName:[{watchPropertyName:0}],aggregateOperator:[{watchAggregateOperator:0}]}}static get style(){return":host(limebb-info-tile){display:block;overflow:visible !important;background-color:transparent !important}limel-info-tile.error{--info-tile-icon-color:rgb(var(--color-red-dark));border:1px dashed rgb(var(--contrast-500));border-radius:var(--info-tile-border-radius, 1rem)}"}},[1,"limebb-info-tile",{platform:[16],context:[16],filterId:[513,"filter-id"],disabled:[4],icon:[513],label:[1],prefix:[1],suffix:[1],propertyName:[1,"property-name"],aggregateOperator:[1,"aggregate-operator"],format:[16],reducedPresence:[516,"reduced-presence"],reducedPresenceRule:[16],config:[32],filters:[32],value:[32],loading:[32],error:[32],limetypes:[32]},void 0,{filterId:[{watchFilterId:0}],propertyName:[{watchPropertyName:0}],aggregateOperator:[{watchAggregateOperator:0}]}]);w([n({})],x.prototype,"config",void 0),w([a()],x.prototype,"filters",void 0),w([l()],x.prototype,"limetypes",void 0);const O=x,I=function(){"undefined"!=typeof customElements&&["limebb-info-tile"].forEach((t=>{"limebb-info-tile"===t&&(customElements.get(r(t))||customElements.define(r(t),x))}))};export{O as LimebbInfoTile,I as defineCustomElement}
1
+ import{proxyCustomElement as t,HTMLElement as e,h as i,transformTag as r}from"@stencil/core/internal/client";import{n as s,o,p as n,h as a,I as l,s as h}from"./index.esm.js";import{a as c}from"./limetype.js";class u{constructor(t){this.getState=t,this.contextType="info-tile"}getContext(){const{limetype:t,filterId:e,filterName:i,aggregateOperator:r,propertyName:s,value:o,label:n}=this.getState();if(!t||!e)return console.debug("InfoTileContextProvider: No limetype or filterId available"),null;const a={widgetType:"info-tile",limetype:t,filterId:e};return i&&(a.filterName=i),a.aggregateOperator=r,s&&(a.propertyName=s),void 0!==o&&(a.value=o),n&&(a.label=n),{data:a,purpose:"Shows an aggregated value from a filter. Clicking navigates to the explorer with that filter applied."}}}class f{constructor(t,e=[]){this.platform=t,this.filters=e}async load(t,e){let i;return i=this.isObjectIdentifier(e)?await this.loadLimeObjectInfoTile(t,e):await this.loadBasicInfoTile(t),i}async loadBasicInfoTile(t){var e;const i=this.getFilter(t.filter);if(!i)throw Error(`Filter "${t.filter}" not found`);return null!==(e=(await this.query.execute({limetype:i.limetype,responseFormat:{aggregates:{infotiles:{value:{op:t.operator,key:t.name}}}},filter:i.filter})).aggregates.infotiles[0].value)&&void 0!==e?e:0}async loadLimeObjectInfoTile(t,e){await this.objectRepository.loadObject(e.limetype,e.id,{properties:[t]});const i=this.objectRepository.getObject(e.limetype,e.id);return null==i?void 0:i.getValue([t.name,t.key].join("."))}isObjectIdentifier(t){return!(!(null==t?void 0:t.limetype)||!(null==t?void 0:t.id))}getFilter(t){return this.filters.find((e=>e.id===t))}get query(){return this.platform.get(s.Query)}get objectRepository(){return this.platform.get(s.LimeObjectRepository)}}function d(t,e){return t&&(t[e]||t.en||t.en_us)||""}function p(t,e=[]){const{path:i,query:r}=function(t,e=[]){if(!t)return{path:"#"};const i=["explorer",t.limetype,t.id].join("/"),r=function(t,e){const i=[...e,t].filter((t=>void 0!==t));if(0!==i.length)return 1===i.length?i[0]:{op:o.AND,exp:i}}(t.filter,e);return r?{path:i,query:{filter:r}}:{path:i}}(t,e);return r?`${i}?${Object.entries(r).map((([t,e])=>`${t}=${encodeURIComponent(JSON.stringify(e))}`)).join("&")}`:i}class g{constructor(t){this.locale=t}format(t){let e=t+"";return"number"==typeof t?e=new Intl.NumberFormat(this.locale).format(t):new Date(t).getTime()&&(e=new Intl.DateTimeFormat(this.locale).format(new Date(t))),{value:e}}}class m{constructor(t){this.locale=t}format(t,e){const i=new Date(t);return{prefix:this.formatAffix("prefix",i,e),value:this.formatValue(i,e),suffix:this.formatAffix("suffix",i,e)}}formatValue(t,e){const i=Object.assign({},e.options);if(e.prefix)for(const t of e.prefix)delete i[t];if(e.suffix)for(const t of e.suffix)delete i[t];return new Intl.DateTimeFormat(this.locale,i).format(t)}formatAffix(t,e,i){const r=Object.assign({},i.options);for(const e of Object.keys(r))"hour12"!==e&&((i[t]||[]).includes(e)||delete r[e]);if(0!==Object.values(r).filter(Boolean).length)return new Intl.DateTimeFormat(this.locale,r).format(e)}}class v{constructor(t){this.locale=t}format(t,e){var i,r;const s=new Intl.NumberFormat(this.locale,e.options),o=s.formatToParts(t);let n="",a="",l="";for(const t of o)(null===(i=e.prefix)||void 0===i?void 0:i.includes(t.type))?n+=t.value:(null===(r=e.suffix)||void 0===r?void 0:r.includes(t.type))?l+=t.value:a+=t.value;return a||(a=s.format(t),n="",l=""),{prefix:n,value:a,suffix:l}}}class y{constructor(t){this.locale=t}format(t,e){const i=new Intl.RelativeTimeFormat(this.locale,e.options),{value:r,unit:s}=this.getRelativeTime(t),o=i.formatToParts(r,s);let n="",a="",l="";for(const t of o)"literal"!==t.type||a?"literal"===t.type&&a?l+=t.value:a+=t.value:n+=t.value;return a||(a=n||l,n="",l=""),{prefix:n,value:a,suffix:l}}getRelativeTime(t){const e=new Date(t),i=new Date,r=e.getTime()-i.getTime(),s=[{unit:"year",value:31536e6},{unit:"month",value:2592e6},{unit:"week",value:6048e5},{unit:"day",value:864e5},{unit:"hour",value:36e5},{unit:"minute",value:6e4},{unit:"second",value:1e3}];for(const t of s){const e=r/t.value;if(Math.abs(e)>=1)return{value:Math.round(e),unit:t.unit}}return{value:0,unit:"second"}}}class b{constructor(t){this.locale=t}createFormatter(t,e){return"number"===(null==t?void 0:t.type)&&"number"==typeof e?new v(this.locale):"date"===(null==t?void 0:t.type)&&"string"==typeof e?new m(this.locale):"relative-date"===(null==t?void 0:t.type)&&"string"==typeof e?new y(this.locale):new g(this.locale)}}var w=function(t,e,i,r){var s,o=arguments.length,n=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(t,e,i,r);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(n=(o<3?s(n):o>3?s(e,i,n):s(e,i))||n);return o>3&&n&&Object.defineProperty(e,i,n),n};const x=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.aggregateOperator=h.Count,this.loading=!1,this.error=!1}get hostElement(){return this.host}connectedCallback(){this.registerContextProvider()}disconnectedCallback(){var t;null===(t=this.unregisterContextProvider)||void 0===t||t.call(this)}componentWillLoad(){this.loadInfoTileValue()}watchFilterId(){this.loadInfoTileValue()}watchPropertyName(){this.loadInfoTileValue()}watchAggregateOperator(){this.loadInfoTileValue()}async loadInfoTileValue(){if(this.loading=!0,this.error=!1,this.getFilter()){try{const t={key:this.getKey(),name:this.propertyName,operator:this.aggregateOperator,filter:this.filterId};this.value=await this.loader.load(t,this.context)}catch(t){console.error(t),this.error=!0}this.loading=!1}else this.error=!0}getKey(){return Math.random().toString(36).slice(2)}render(){var t,e;const r=this.getFilter(),s=this.getFormattedValue(),o={disabled:this.disabled,icon:this.icon,prefix:(null===(t=null==s?void 0:s.prefix)||void 0===t?void 0:t.trim())||this.prefix,suffix:(null===(e=null==s?void 0:s.suffix)||void 0===e?void 0:e.trim())||this.suffix,reducedPresence:this.shouldReducePresence()},n=Object.assign(Object.assign({},o),{icon:"error",prefix:"ERROR",loading:!0,label:this.getLabel(r)}),a=Object.assign(Object.assign({},o),{label:this.getLabel(r),link:this.getLink(r),loading:this.loading,value:null==s?void 0:s.value.trim()});return i("limel-info-tile",Object.assign({key:"802c93fade2b3aff10e53c1a970798b994bff2d2",class:{error:!r||this.error}},!r||this.error?n:a))}shouldReducePresence(){if(this.reducedPresence)return!0;if(!this.reducedPresenceRule||this.loading)return!1;try{return this.ruleRegistry.compile(this.reducedPresenceRule).evaluate(this.ruleRegistry.scope({host:this.hostElement,with:{scalarValue:this.value}}))}catch(t){return!1}}getFormattedValue(){if(!this.value&&0!==this.value)return{value:""};try{return this.getFormatter(this.value).format(this.value,this.format)}catch(t){return new g(this.language).format(this.value)}}getLabel(t){return t?"string"==typeof this.label?this.translator.get(this.label):d(this.label&&"object"==typeof this.label?this.label:t.name,this.language):"No filter set is selected"}getLink(t){const e=c({targetLimetype:t?this.limetypes[t.limetype]:void 0,currentLimetype:this.context.limetype?this.limetypes[this.context.limetype]:void 0,contextLimetypeName:this.context.limetype,contextId:this.context.id,propertyName:this.propertyName});return{href:p(t,e&&this.context.id?[{key:e,op:o.EQUALS,exp:this.context.id}]:[])}}getFilter(){return function(t,e){if(t&&e)return t.find((t=>t.id===e))}(this.filters,this.filterId)}getFormatter(t){return new b(this.language).createFormatter(this.format,t)}get translator(){return this.platform.get(s.Translate)}get ruleRegistry(){return this.platform.get(s.RuleRegistry)}get language(){return this.platform.get(s.Application).getLanguage()}get loader(){return new f(this.platform,this.filters)}registerContextProvider(){const t=this.platform.get(s.AIContextRegistry);if(!(null==t?void 0:t.register))return;const e=new u((()=>{const t=this.getFilter();return{limetype:null==t?void 0:t.limetype,filterId:this.filterId,filterName:t?d(t.name,this.language):void 0,aggregateOperator:this.aggregateOperator,propertyName:this.propertyName,value:this.value,label:this.getLabel(t)}}));this.unregisterContextProvider=t.register(e,this.hostElement)}get host(){return this}static get watchers(){return{filterId:[{watchFilterId:0}],propertyName:[{watchPropertyName:0}],aggregateOperator:[{watchAggregateOperator:0}]}}static get style(){return":host(limebb-info-tile){display:block;overflow:visible !important;background-color:transparent !important}limel-info-tile.error{--info-tile-icon-color:rgb(var(--color-red-dark));border:1px dashed rgb(var(--contrast-500));border-radius:var(--info-tile-border-radius, 1rem)}"}},[1,"limebb-info-tile",{platform:[16],context:[16],filterId:[513,"filter-id"],disabled:[4],icon:[513],label:[1],prefix:[1],suffix:[1],propertyName:[1,"property-name"],aggregateOperator:[1,"aggregate-operator"],format:[16],reducedPresence:[516,"reduced-presence"],reducedPresenceRule:[16],config:[32],filters:[32],value:[32],loading:[32],error:[32],limetypes:[32]},void 0,{filterId:[{watchFilterId:0}],propertyName:[{watchPropertyName:0}],aggregateOperator:[{watchAggregateOperator:0}]}]);w([n({})],x.prototype,"config",void 0),w([a()],x.prototype,"filters",void 0),w([l()],x.prototype,"limetypes",void 0);const I=x,O=function(){"undefined"!=typeof customElements&&["limebb-info-tile"].forEach((t=>{"limebb-info-tile"===t&&(customElements.get(r(t))||customElements.define(r(t),x))}))};export{I as LimebbInfoTile,O as defineCustomElement}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface LimebbInlineImage extends Components.LimebbInlineImage, HTMLElement {}
4
+ export const LimebbInlineImage: {
5
+ prototype: LimebbInlineImage;
6
+ new (): LimebbInlineImage;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1 @@
1
+ import{proxyCustomElement as t,HTMLElement as i,getElement as e,h as s,transformTag as n}from"@stencil/core/internal/client";import{n as o}from"./index.esm.js";import{f as l}from"./dom.js";import{g as m}from"./file-contents-url.js";const r=t(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.alt="",this.appName=""}connectedCallback(){var t;const i=l(e(this),this.hasPlatform);this.appName=null!==(t=null==i?void 0:i.platform.get(o.Application).getApplicationName())&&void 0!==t?t:""}render(){if(this.imageId&&this.appName)return s("img",{src:m(this.appName,this.imageId),alt:this.alt,style:{width:this.toCssSize(this.width),height:this.toCssSize(this.height),maxWidth:"100%"}})}hasPlatform(t){return"platform"in t&&!!t.platform&&"object"==typeof t.platform}toCssSize(t){if(t)return/^\d+$/.test(t)?t+"px":t}static get style(){return":host{display:inline-block;max-width:100%}img{display:inline-block;max-width:100%;height:auto;border-radius:0.25rem;vertical-align:bottom}"}},[1,"limebb-inline-image",{imageId:[1,"image-id"],alt:[1],width:[1],height:[1],appName:[32]}]),a=r,h=function(){"undefined"!=typeof customElements&&["limebb-inline-image"].forEach((t=>{"limebb-inline-image"===t&&(customElements.get(n(t))||customElements.define(n(t),r))}))};export{a as LimebbInlineImage,h as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as i,createEvent as t,h as r,Host as s,transformTag as o}from"@stencil/core/internal/client";import{L as l}from"./index.esm.js";import{i as m}from"./lime-query-validation.js";import{d as a}from"./filter-chip.js";import{d}from"./lime-query-filter-builder.js";import{d as n}from"./lime-query-filter-comparison.js";import{d as u}from"./lime-query-filter-comparison-editor.js";import{e as h,b as c,d as b}from"./lime-query-filter-expression.js";import{d as p}from"./order-by-editor.js";import{d as f}from"./order-by-item.js";import{d as y}from"./response-format-editor.js";import{d as v}from"./response-format-item.js";import{d as g}from"./lime-query-value-input.js";import{d as q}from"./limetype-field.js";import{d as x}from"./property-selector.js";const k=e(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.change=t(this,"change",7),this.mode="visual",this.codeValue="",this.limetype="",this.handleLimetypeChange=e=>{e.stopPropagation(),this.limetype=e.detail,this.filter=void 0,this.internalResponseFormat={object:{}},this.emitChange()},this.handleFilterChange=e=>{var i;e.stopPropagation(),this.filter=null!==(i=e.detail)&&void 0!==i?i:void 0,this.emitChange()},this.handleResponseFormatChange=e=>{e.stopPropagation(),this.internalResponseFormat=e.detail,this.emitChange()},this.handleLimitChange=e=>{e.stopPropagation();const i=e.detail;this.limit=i?Number.parseInt(i,10):void 0,this.emitChange()},this.handleOrderByChange=e=>{e.stopPropagation(),this.orderBy=e.detail,this.emitChange()},this.handleDescriptionChange=e=>{e.stopPropagation(),this.description=e.detail||void 0,this.emitChange()},this.handleDescriptionBlur=()=>{if(this.description){const e=this.description.trim();e!==this.description&&(this.description=e||void 0,this.emitChange())}},this.handleChange=e=>{e.stopPropagation();const i=e.detail.id;if("visual"===i)try{const e=JSON.parse(this.codeValue);if(!this.checkVisualModeSupport().visualModeSupported)return;this.limetype=e.limetype||"",this.filter=e.filter,this.internalResponseFormat=e.responseFormat,this.limit=e.limit,this.orderBy=e.orderBy,this.description=e["#description"],this.mode="visual",this.change.emit(e)}catch(e){}else"code"===i&&(this.updateCodeValue(),this.mode="code")},this.handleCodeChange=e=>{e.stopPropagation(),this.codeValue=e.detail;try{const e=JSON.parse(this.codeValue);this.change.emit(e)}catch(e){}}}getButtons(){return[{id:"visual",title:"Visual"},{id:"code",title:"Code"}]}get visualModeEnabled(){var e,i,t;return null!==(t=null===(i=null===(e=this.platform)||void 0===e?void 0:e.isFeatureEnabled)||void 0===i?void 0:i.call(e,"useLimeQueryBuilderGuiMode"))&&void 0!==t&&t}componentWillLoad(){if(!this.visualModeEnabled)return this.mode="code",void this.updateCodeValue();this.value&&(this.limetype=this.value.limetype||"",this.filter=this.value.filter,this.internalResponseFormat=this.value.responseFormat,this.limit=this.value.limit,this.orderBy=this.value.orderBy,this.description=this.value["#description"]),this.updateCodeValue(),this.checkVisualModeSupport().visualModeSupported||(this.mode="code")}render(){return r(s,{key:"fbecd3d9b61ea135192a2dc7a4c1e9c22835331b"},this.renderHeader(),this.renderContent())}renderContent(){const e=this.checkVisualModeSupport();return this.visualModeEnabled&&"code"!==this.mode?this.renderVisualMode():this.renderCodeMode(e)}emitChange(){"code"!==this.mode&&this.limetype&&this.change.emit(this.buildLimeQuery())}updateCodeValue(){this.codeValue=JSON.stringify(this.limetype?this.buildLimeQuery():this.value||{},null,2)}buildLimeQuery(){const e={limetype:this.limetype,responseFormat:this.internalResponseFormat||{object:{_id:null}},filter:this.filter};return this.description&&(e["#description"]=this.description),void 0!==this.limit&&this.limit>0&&(e.limit=this.limit),this.orderBy&&this.orderBy.length>0&&(e.orderBy=this.orderBy),e}checkVisualModeSupport(){if(!this.limetypes)return{valid:!0,visualModeSupported:!0,validationErrors:[],visualModeLimitations:[]};let e;if("code"===this.mode&&this.codeValue)try{e=JSON.parse(this.codeValue)}catch(e){return{valid:!1,visualModeSupported:!1,validationErrors:["Invalid JSON"],visualModeLimitations:[]}}else{if(!this.limetype)return{valid:!0,visualModeSupported:!0,validationErrors:[],visualModeLimitations:[]};e={limetype:this.limetype,responseFormat:this.internalResponseFormat||{object:{_id:null}},filter:this.filter},void 0!==this.limit&&this.limit>0&&(e.limit=this.limit)}return m(e,this.limetypes,this.activeLimetype,this.visualModeEnabled)}renderModeSwitch(e){const i=!e.visualModeSupported,t=this.getButtons().map((e=>Object.assign(Object.assign({},e),{selected:e.id===this.mode})));return r("limel-button-group",{slot:"actions",onChange:this.handleChange,value:t,disabled:i})}renderCodeEditor(e){return[r("limel-code-editor",{value:this.codeValue,language:"json",lineNumbers:!0,fold:!0,lint:!0,onChange:this.handleCodeChange}),!e.valid&&e.validationErrors.length>0&&r("div",{class:"validation-errors"},r("strong",null,"Invalid Lime Query:"),r("ul",null,e.validationErrors.map((e=>r("li",null,e))))),this.visualModeEnabled&&e.valid&&!e.visualModeSupported&&e.visualModeLimitations.length>0&&r("div",{class:"visual-mode-limitations"},r("strong",null,"Cannot switch to visual mode:"),r("ul",null,e.visualModeLimitations.map((e=>r("li",null,e)))))]}renderLimetypeSection(){return r("limebb-limetype-field",{platform:this.platform,context:this.context,label:"Limetype",value:this.limetype,required:!0,fieldName:"limetype",onChange:this.handleLimetypeChange})}renderDescriptionSection(){if(this.limetype)return r("section",{class:"description"},r("limel-input-field",{label:"Description",type:"textarea",value:this.description||"",placeholder:"Describe what data this query retrieves...",helperText:"Optional: Help AI agents and humans understand the query purpose",onChange:this.handleDescriptionChange,onBlur:this.handleDescriptionBlur}))}renderResponseFormatSection(){if(this.limetype)return r("section",{class:"response-format"},r("limebb-lime-query-response-format-editor",{platform:this.platform,context:this.context,limetype:this.limetype,value:this.internalResponseFormat,onChange:this.handleResponseFormatChange}))}renderFilterSection(){if(this.limetype)return r("section",{class:"filter"},r("limel-header",{class:"is-narrow",heading:"Filter Conditions",icon:"-lime-filter"}),r("limebb-lime-query-filter-builder",{platform:this.platform,context:this.context,limetype:this.limetype,activeLimetype:this.activeLimetype,expression:this.filter,onExpressionChange:this.handleFilterChange}))}renderQueryOptionsSection(){var e;if(this.limetype)return r("section",{class:"query-options"},r("limel-header",{class:"is-narrow",heading:"Query Options",icon:"ask_question"}),r("div",{class:"query-options-controls"},r("limel-input-field",{label:"Limit",type:"number",value:(null===(e=this.limit)||void 0===e?void 0:""+e)||"",placeholder:"Enter a number",helperText:"Maximum number of results. When empty, a default limit is applied.",onChange:this.handleLimitChange}),r("limebb-lime-query-order-by-editor",{platform:this.platform,context:this.context,limetype:this.limetype,value:this.orderBy,onChange:this.handleOrderByChange})))}renderVisualMode(){return r("div",{class:"visual-mode"},this.renderLimetypeSection(),this.renderDescriptionSection(),this.renderResponseFormatSection(),this.renderFilterSection(),this.renderQueryOptionsSection())}renderHeader(){const e=this.checkVisualModeSupport();return r("limel-header",{heading:this.label},this.renderModeControls(e))}renderModeControls(e){if(this.visualModeEnabled)return this.renderModeSwitch(e)}renderCodeMode(e){return r("div",{class:"code-mode"},this.renderCodeEditor(e))}static get style(){return"*,*:before,*:after{box-sizing:border-box}:host(limebb-lime-query-builder){--header-background-color:rgb(var(--contrast-500));--limebb-lime-query-builder-background-color:rgb(var(--contrast-100));--limebb-lime-query-builder-border-radius:0.75rem;--limebb-lime-query-builder-visual-mode-padding:1rem;--limebb-lime-query-builder-group-color:rgb(var(--color-sky-lighter));box-sizing:border-box;width:calc(100% - 1.5rem);margin:0.75rem auto;display:flex;flex-direction:column;border-radius:var(--limebb-lime-query-builder-border-radius);background-color:var(--limebb-lime-query-builder-background-color);box-shadow:var(--shadow-inflated-16)}.visual-mode{display:flex;flex-direction:column;gap:1rem;padding:var(--limebb-lime-query-builder-visual-mode-padding);border:1px solid var(--header-background-color);border-radius:0 0 var(--limebb-lime-query-builder-border-radius) var(--limebb-lime-query-builder-border-radius)}.code-mode{--code-editor-max-height:70vh;display:flex;flex-direction:column;gap:1rem}.code-mode .validation-errors{padding:0.75rem 1rem;color:rgb(var(--color-red-default));background-color:rgb(var(--color-red-lighter));border-left:0.25rem solid rgb(var(--color-red-default));border-radius:0.25rem;font-size:0.875rem}.code-mode .validation-errors strong{display:block;margin-bottom:0.5rem;font-weight:600}.code-mode .validation-errors ul{margin:0;padding-left:1.5rem}.code-mode .validation-errors li{margin:0.25rem 0}.code-mode .visual-mode-limitations{padding:0.75rem 1rem;color:rgb(var(--color-blue-dark));background-color:rgb(var(--color-blue-lighter));border-left:0.25rem solid rgb(var(--color-blue-default));border-radius:0.25rem;font-size:0.875rem}.code-mode .visual-mode-limitations strong{display:block;margin-bottom:0.5rem;font-weight:600}.code-mode .visual-mode-limitations ul{margin:0;padding-left:1.5rem}.code-mode .visual-mode-limitations li{margin:0.25rem 0}section.description,section.filter,section.query-options{display:flex;flex-direction:column;gap:1rem}section h4{margin:0;font-size:1.125rem;font-weight:600;color:rgb(var(--contrast-1000))}limel-header.is-narrow{--header-top-right-left-border-radius:0;width:calc(100% + var(--limebb-lime-query-builder-visual-mode-padding) * 2);margin-left:calc(var(--limebb-lime-query-builder-visual-mode-padding) * -1)}.query-options-controls{display:flex;flex-direction:column;gap:1rem}"}},[1,"limebb-lime-query-builder",{platform:[16],context:[16],value:[16],label:[1],activeLimetype:[1,"active-limetype"],limetypes:[32],mode:[32],codeValue:[32],limetype:[32],filter:[32],internalResponseFormat:[32],limit:[32],orderBy:[32],description:[32]}]);!function(e,i,t,r){var s,o=arguments.length,l=o<3?i:null===r?r=Object.getOwnPropertyDescriptor(i,t):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,i,t,r);else for(var m=e.length-1;m>=0;m--)(s=e[m])&&(l=(o<3?s(l):o>3?s(i,t,l):s(i,t))||l);o>3&&l&&Object.defineProperty(i,t,l)}([l()],k.prototype,"limetypes",void 0);const E=k,j=function(){"undefined"!=typeof customElements&&["limebb-lime-query-builder","limebb-filter-chip","limebb-lime-query-filter-builder","limebb-lime-query-filter-comparison","limebb-lime-query-filter-comparison-editor","limebb-lime-query-filter-expression","limebb-lime-query-filter-group","limebb-lime-query-filter-not","limebb-lime-query-order-by-editor","limebb-lime-query-order-by-item","limebb-lime-query-response-format-editor","limebb-lime-query-response-format-item","limebb-lime-query-value-input","limebb-limetype-field","limebb-property-selector"].forEach((e=>{switch(e){case"limebb-lime-query-builder":customElements.get(o(e))||customElements.define(o(e),k);break;case"limebb-filter-chip":customElements.get(o(e))||a();break;case"limebb-lime-query-filter-builder":customElements.get(o(e))||d();break;case"limebb-lime-query-filter-comparison":customElements.get(o(e))||n();break;case"limebb-lime-query-filter-comparison-editor":customElements.get(o(e))||u();break;case"limebb-lime-query-filter-expression":customElements.get(o(e))||b();break;case"limebb-lime-query-filter-group":customElements.get(o(e))||c();break;case"limebb-lime-query-filter-not":customElements.get(o(e))||h();break;case"limebb-lime-query-order-by-editor":customElements.get(o(e))||p();break;case"limebb-lime-query-order-by-item":customElements.get(o(e))||f();break;case"limebb-lime-query-response-format-editor":customElements.get(o(e))||y();break;case"limebb-lime-query-response-format-item":customElements.get(o(e))||v();break;case"limebb-lime-query-value-input":customElements.get(o(e))||g();break;case"limebb-limetype-field":customElements.get(o(e))||q();break;case"limebb-property-selector":customElements.get(o(e))||x()}}))};export{E as LimebbLimeQueryBuilder,j as defineCustomElement}
1
+ import{proxyCustomElement as e,HTMLElement as i,createEvent as t,h as r,Host as s,transformTag as o}from"@stencil/core/internal/client";import{I as l}from"./index.esm.js";import{i as m}from"./lime-query-validation.js";import{d as a}from"./filter-chip.js";import{d}from"./filter-condition-picker.js";import{d as n}from"./lime-query-filter-builder.js";import{d as u}from"./lime-query-filter-comparison.js";import{d as h}from"./lime-query-filter-comparison-editor.js";import{e as c,b,d as p}from"./lime-query-filter-expression.js";import{d as f}from"./order-by-editor.js";import{d as y}from"./order-by-item.js";import{d as v}from"./response-format-editor.js";import{d as g}from"./response-format-item.js";import{d as q}from"./lime-query-value-input.js";import{d as x}from"./limetype-field.js";import{d as k}from"./property-selector.js";const E=e(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.change=t(this,"change",7),this.mode="visual",this.codeValue="",this.limetype="",this.handleLimetypeChange=e=>{e.stopPropagation(),this.limetype=e.detail,this.filter=void 0,this.internalResponseFormat={object:{}},this.emitChange()},this.handleFilterChange=e=>{var i;e.stopPropagation(),this.filter=null!==(i=e.detail)&&void 0!==i?i:void 0,this.emitChange()},this.handleResponseFormatChange=e=>{e.stopPropagation(),this.internalResponseFormat=e.detail,this.emitChange()},this.handleLimitChange=e=>{e.stopPropagation();const i=e.detail;this.limit=i?Number.parseInt(i,10):void 0,this.emitChange()},this.handleOrderByChange=e=>{e.stopPropagation(),this.orderBy=e.detail,this.emitChange()},this.handleDescriptionChange=e=>{e.stopPropagation(),this.description=e.detail||void 0,this.emitChange()},this.handleDescriptionBlur=()=>{if(this.description){const e=this.description.trim();e!==this.description&&(this.description=e||void 0,this.emitChange())}},this.handleChange=e=>{e.stopPropagation();const i=e.detail.id;if("visual"===i)try{const e=JSON.parse(this.codeValue);if(!this.checkVisualModeSupport().visualModeSupported)return;this.limetype=e.limetype||"",this.filter=e.filter,this.internalResponseFormat=e.responseFormat,this.limit=e.limit,this.orderBy=e.orderBy,this.description=e["#description"],this.mode="visual",this.change.emit(e)}catch(e){}else"code"===i&&(this.updateCodeValue(),this.mode="code")},this.handleCodeChange=e=>{e.stopPropagation(),this.codeValue=e.detail;try{const e=JSON.parse(this.codeValue);this.change.emit(e)}catch(e){}}}getButtons(){return[{id:"visual",title:"Visual"},{id:"code",title:"Code"}]}get visualModeEnabled(){var e,i,t;return null!==(t=null===(i=null===(e=this.platform)||void 0===e?void 0:e.isFeatureEnabled)||void 0===i?void 0:i.call(e,"useLimeQueryBuilderGuiMode"))&&void 0!==t&&t}componentWillLoad(){if(!this.visualModeEnabled)return this.mode="code",void this.updateCodeValue();this.value&&(this.limetype=this.value.limetype||"",this.filter=this.value.filter,this.internalResponseFormat=this.value.responseFormat,this.limit=this.value.limit,this.orderBy=this.value.orderBy,this.description=this.value["#description"]),this.updateCodeValue(),this.checkVisualModeSupport().visualModeSupported||(this.mode="code")}render(){return r(s,{key:"d03160151a6467401424351f0bf7d05211800bf0"},this.renderHeader(),this.renderContent())}renderContent(){const e=this.checkVisualModeSupport();return this.visualModeEnabled&&"code"!==this.mode?this.renderVisualMode():this.renderCodeMode(e)}emitChange(){"code"!==this.mode&&this.limetype&&this.change.emit(this.buildLimeQuery())}updateCodeValue(){this.codeValue=JSON.stringify(this.limetype?this.buildLimeQuery():this.value||{},null,2)}buildLimeQuery(){const e={limetype:this.limetype,responseFormat:this.internalResponseFormat||{object:{_id:null}},filter:this.filter};return this.description&&(e["#description"]=this.description),void 0!==this.limit&&this.limit>0&&(e.limit=this.limit),this.orderBy&&this.orderBy.length>0&&(e.orderBy=this.orderBy),e}checkVisualModeSupport(){if(!this.limetypes)return{valid:!0,visualModeSupported:!0,validationErrors:[],visualModeLimitations:[]};let e;if("code"===this.mode&&this.codeValue)try{e=JSON.parse(this.codeValue)}catch(e){return{valid:!1,visualModeSupported:!1,validationErrors:["Invalid JSON"],visualModeLimitations:[]}}else{if(!this.limetype)return{valid:!0,visualModeSupported:!0,validationErrors:[],visualModeLimitations:[]};e={limetype:this.limetype,responseFormat:this.internalResponseFormat||{object:{_id:null}},filter:this.filter},void 0!==this.limit&&this.limit>0&&(e.limit=this.limit)}return m(e,this.limetypes,this.activeLimetype,this.visualModeEnabled)}renderModeSwitch(e){const i=!e.visualModeSupported,t=this.getButtons().map((e=>Object.assign(Object.assign({},e),{selected:e.id===this.mode})));return r("limel-button-group",{slot:"actions",onChange:this.handleChange,value:t,disabled:i})}renderCodeEditor(e){return[r("limel-code-editor",{value:this.codeValue,language:"json",lineNumbers:!0,fold:!0,lint:!0,onChange:this.handleCodeChange}),!e.valid&&e.validationErrors.length>0&&r("div",{class:"validation-errors"},r("strong",null,"Invalid Lime Query:"),r("ul",null,e.validationErrors.map((e=>r("li",null,e))))),this.visualModeEnabled&&e.valid&&!e.visualModeSupported&&e.visualModeLimitations.length>0&&r("div",{class:"visual-mode-limitations"},r("strong",null,"Cannot switch to visual mode:"),r("ul",null,e.visualModeLimitations.map((e=>r("li",null,e)))))]}renderLimetypeSection(){return r("limebb-limetype-field",{platform:this.platform,context:this.context,label:"Limetype",value:this.limetype,required:!0,fieldName:"limetype",onChange:this.handleLimetypeChange})}renderDescriptionSection(){if(this.limetype)return r("section",{class:"description"},r("limel-input-field",{label:"Description",type:"textarea",value:this.description||"",placeholder:"Describe what data this query retrieves...",helperText:"Optional: Help AI agents and humans understand the query purpose",onChange:this.handleDescriptionChange,onBlur:this.handleDescriptionBlur}))}renderResponseFormatSection(){if(this.limetype)return r("section",{class:"response-format"},r("limebb-lime-query-response-format-editor",{platform:this.platform,context:this.context,limetype:this.limetype,value:this.internalResponseFormat,onChange:this.handleResponseFormatChange}))}renderFilterSection(){if(this.limetype)return r("section",{class:"filter"},r("limel-header",{class:"is-narrow",heading:"Filter Conditions",icon:"-lime-filter"}),r("limebb-lime-query-filter-builder",{platform:this.platform,context:this.context,limetype:this.limetype,activeLimetype:this.activeLimetype,expression:this.filter,onExpressionChange:this.handleFilterChange}))}renderQueryOptionsSection(){var e;if(this.limetype)return r("section",{class:"query-options"},r("limel-header",{class:"is-narrow",heading:"Query Options",icon:"ask_question"}),r("div",{class:"query-options-controls"},r("limel-input-field",{label:"Limit",type:"number",value:(null===(e=this.limit)||void 0===e?void 0:""+e)||"",placeholder:"Enter a number",helperText:"Maximum number of results. When empty, a default limit is applied.",onChange:this.handleLimitChange}),r("limebb-lime-query-order-by-editor",{platform:this.platform,context:this.context,limetype:this.limetype,value:this.orderBy,onChange:this.handleOrderByChange})))}renderVisualMode(){return r("div",{class:"visual-mode"},this.renderLimetypeSection(),this.renderDescriptionSection(),this.renderResponseFormatSection(),this.renderFilterSection(),this.renderQueryOptionsSection())}renderHeader(){const e=this.checkVisualModeSupport();return r("limel-header",{heading:this.label},this.renderModeControls(e))}renderModeControls(e){if(this.visualModeEnabled)return this.renderModeSwitch(e)}renderCodeMode(e){return r("div",{class:"code-mode"},this.renderCodeEditor(e))}static get style(){return"*,*:before,*:after{box-sizing:border-box}:host(limebb-lime-query-builder){--header-background-color:rgb(var(--contrast-500));--limebb-lime-query-builder-background-color:rgb(var(--contrast-100));--limebb-lime-query-builder-border-radius:0.75rem;--limebb-lime-query-builder-visual-mode-padding:1rem;--limebb-lime-query-builder-group-color:rgb(var(--color-sky-lighter));box-sizing:border-box;width:calc(100% - 1.5rem);margin:0.75rem auto;display:flex;flex-direction:column;border-radius:var(--limebb-lime-query-builder-border-radius);background-color:var(--limebb-lime-query-builder-background-color);box-shadow:var(--shadow-inflated-16)}.visual-mode{display:flex;flex-direction:column;gap:1rem;padding:var(--limebb-lime-query-builder-visual-mode-padding);border:1px solid var(--header-background-color);border-radius:0 0 var(--limebb-lime-query-builder-border-radius) var(--limebb-lime-query-builder-border-radius)}.code-mode{--code-editor-max-height:70vh;display:flex;flex-direction:column;gap:1rem}.code-mode .validation-errors{padding:0.75rem 1rem;color:rgb(var(--color-red-default));background-color:rgb(var(--color-red-lighter));border-left:0.25rem solid rgb(var(--color-red-default));border-radius:0.25rem;font-size:0.875rem}.code-mode .validation-errors strong{display:block;margin-bottom:0.5rem;font-weight:600}.code-mode .validation-errors ul{margin:0;padding-left:1.5rem}.code-mode .validation-errors li{margin:0.25rem 0}.code-mode .visual-mode-limitations{padding:0.75rem 1rem;color:rgb(var(--color-blue-dark));background-color:rgb(var(--color-blue-lighter));border-left:0.25rem solid rgb(var(--color-blue-default));border-radius:0.25rem;font-size:0.875rem}.code-mode .visual-mode-limitations strong{display:block;margin-bottom:0.5rem;font-weight:600}.code-mode .visual-mode-limitations ul{margin:0;padding-left:1.5rem}.code-mode .visual-mode-limitations li{margin:0.25rem 0}section.description,section.filter,section.query-options{display:flex;flex-direction:column;gap:1rem}section h4{margin:0;font-size:1.125rem;font-weight:600;color:rgb(var(--contrast-1000))}limel-header.is-narrow{--header-top-right-left-border-radius:0;width:calc(100% + var(--limebb-lime-query-builder-visual-mode-padding) * 2);margin-left:calc(var(--limebb-lime-query-builder-visual-mode-padding) * -1)}.query-options-controls{display:flex;flex-direction:column;gap:1rem}"}},[1,"limebb-lime-query-builder",{platform:[16],context:[16],value:[16],label:[1],activeLimetype:[1,"active-limetype"],limetypes:[32],mode:[32],codeValue:[32],limetype:[32],filter:[32],internalResponseFormat:[32],limit:[32],orderBy:[32],description:[32]}]);!function(e,i,t,r){var s,o=arguments.length,l=o<3?i:null===r?r=Object.getOwnPropertyDescriptor(i,t):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,i,t,r);else for(var m=e.length-1;m>=0;m--)(s=e[m])&&(l=(o<3?s(l):o>3?s(i,t,l):s(i,t))||l);o>3&&l&&Object.defineProperty(i,t,l)}([l()],E.prototype,"limetypes",void 0);const j=E,C=function(){"undefined"!=typeof customElements&&["limebb-lime-query-builder","limebb-filter-chip","limebb-filter-condition-picker","limebb-lime-query-filter-builder","limebb-lime-query-filter-comparison","limebb-lime-query-filter-comparison-editor","limebb-lime-query-filter-expression","limebb-lime-query-filter-group","limebb-lime-query-filter-not","limebb-lime-query-order-by-editor","limebb-lime-query-order-by-item","limebb-lime-query-response-format-editor","limebb-lime-query-response-format-item","limebb-lime-query-value-input","limebb-limetype-field","limebb-property-selector"].forEach((e=>{switch(e){case"limebb-lime-query-builder":customElements.get(o(e))||customElements.define(o(e),E);break;case"limebb-filter-chip":customElements.get(o(e))||a();break;case"limebb-filter-condition-picker":customElements.get(o(e))||d();break;case"limebb-lime-query-filter-builder":customElements.get(o(e))||n();break;case"limebb-lime-query-filter-comparison":customElements.get(o(e))||u();break;case"limebb-lime-query-filter-comparison-editor":customElements.get(o(e))||h();break;case"limebb-lime-query-filter-expression":customElements.get(o(e))||p();break;case"limebb-lime-query-filter-group":customElements.get(o(e))||b();break;case"limebb-lime-query-filter-not":customElements.get(o(e))||c();break;case"limebb-lime-query-order-by-editor":customElements.get(o(e))||f();break;case"limebb-lime-query-order-by-item":customElements.get(o(e))||y();break;case"limebb-lime-query-response-format-editor":customElements.get(o(e))||v();break;case"limebb-lime-query-response-format-item":customElements.get(o(e))||g();break;case"limebb-lime-query-value-input":customElements.get(o(e))||q();break;case"limebb-limetype-field":customElements.get(o(e))||x();break;case"limebb-property-selector":customElements.get(o(e))||k()}}))};export{j as LimebbLimeQueryBuilder,C as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as t,createEvent as i,h as o,transformTag as r}from"@stencil/core/internal/client";import{L as s}from"./index.esm.js";import{v as l}from"./lime-query-validation.js";import{d as a}from"./response-format-editor.js";import{d as n}from"./response-format-item.js";import{d}from"./property-selector.js";function c(e){let t;try{t=JSON.parse(e)}catch(e){throw Error("Invalid JSON: "+e.message)}if(null===t||"object"!=typeof t)throw Error("Response format must be an object");const i=new Set(["object","aggregates"]),o=Object.keys(t),r=o.filter((e=>!i.has(e)));if(r.length>0)throw Error(`Unexpected properties in response format: ${r.join(", ")}. Only 'object' and 'aggregates' are allowed.`);if(o.length>0&&!t.object&&!t.aggregates)throw Error("Response format must contain at least one of: object, aggregates");return t}const m=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.change=i(this,"change",7),this.label="Response Format",this.helperText="",this.mode="visual",this.codeValue="",this.handleModeChange=e=>{e.stopPropagation();const t=e.detail.id;"visual"===t?this.switchToVisualMode():"code"===t&&this.switchToCode()},this.switchToVisualMode=()=>{try{const e=c(this.codeValue);if(!l(e,this.limetypes,this.limetype,this.visualModeEnabled).visualModeSupported)return;this.internalValue=e,this.mode="visual",this.change.emit(e)}catch(e){}},this.switchToCode=()=>{this.updateCodeValue(),this.mode="code"},this.handleCodeChange=e=>{e.stopPropagation(),this.codeValue=e.detail;try{const e=c(this.codeValue);this.internalValue=e,this.change.emit(e)}catch(e){}},this.handleVisualModeChange=e=>{e.stopPropagation(),this.internalValue=e.detail,this.updateCodeValue(),this.change.emit(e.detail)}}get visualModeEnabled(){var e,t,i;return null!==(i=null===(t=null===(e=this.platform)||void 0===e?void 0:e.isFeatureEnabled)||void 0===t?void 0:t.call(e,"useLimeQueryBuilderGuiMode"))&&void 0!==i&&i}componentWillLoad(){this.internalValue=this.value||{object:{_id:null}},this.updateCodeValue(),this.visualModeEnabled&&this.checkVisualModeSupport().visualModeSupported||(this.mode="code")}componentWillUpdate(){this.value&&"visual"===this.mode&&(this.internalValue=this.value)}render(){const e=this.checkVisualModeSupport();return o("div",{key:"649472c75a9f8e905a450f90246dda96b5cb1967",class:"response-format-builder"},this.label&&o("h1",{key:"23ac72af641ecdc9da2dd8eab87c69c98b1b743c",class:"builder-label"},this.label),this.helperText&&o("p",{key:"f575c5c0e62f9964f5ac7ac9eaa45eb59e8bf51d",class:"builder-helper-text"},this.helperText),this.visualModeEnabled&&o("div",{key:"ac2710467d1f2c1a92fab3366263ea3d56bef5aa",class:"mode-controls"},this.renderModeSwitch(e)),this.visualModeEnabled&&"code"!==this.mode?o("div",{class:"visual-mode"},this.renderVisualMode()):o("div",{class:"code-mode"},this.renderCodeEditor(e)))}renderModeSwitch(e){const t=!e.visualModeSupported,i=[{id:"visual",title:"Visual"},{id:"code",title:"Code"}].map((e=>Object.assign(Object.assign({},e),{selected:e.id===this.mode})));return o("limel-button-group",{value:i,disabled:t,onChange:this.handleModeChange})}renderCodeEditor(e){return o("div",{class:"code-editor-container"},o("limel-code-editor",{value:this.codeValue,language:"json",lineNumbers:!0,fold:!0,lint:!0,onChange:this.handleCodeChange}),!e.valid&&e.validationErrors.length>0&&o("div",{class:"validation-errors"},o("strong",null,"Invalid Response Format:"),o("ul",null,e.validationErrors.map((e=>o("li",null,e))))),this.visualModeEnabled&&e.valid&&!e.visualModeSupported&&e.visualModeLimitations.length>0&&o("div",{class:"visual-mode-limitations"},o("strong",null,"Cannot switch to visual mode:"),o("ul",null,e.visualModeLimitations.map((e=>o("li",null,e))))))}renderVisualMode(){return o("limebb-lime-query-response-format-editor",{platform:this.platform,context:this.context,limetype:this.limetype,value:this.internalValue,onChange:this.handleVisualModeChange})}checkVisualModeSupport(){if(!this.limetypes)return{valid:!1,visualModeSupported:!1,validationErrors:["Limetypes not loaded"],visualModeLimitations:[]};let e;if("code"===this.mode)try{e=c(this.codeValue)}catch(e){return{valid:!1,visualModeSupported:!1,validationErrors:[e.message],visualModeLimitations:[]}}else e=this.internalValue;return l(e,this.limetypes,this.limetype,this.visualModeEnabled)}updateCodeValue(){this.codeValue=function(e){return JSON.stringify(e,null,2)}(this.internalValue)}static get style(){return":host(limebb-lime-query-response-format-builder){display:block;width:100%}.response-format-builder{display:flex;flex-direction:column}.builder-label{color:rgb(var(--contrast-1100));font-size:1.625rem;line-height:1.25rem;font-weight:300;margin-top:1rem;margin-bottom:0.25rem}.builder-helper-text{margin-top:0px;margin-bottom:0.5rem;font-size:var(--limel-theme-default-font-size);color:rgb(var(--contrast-1100))}.mode-controls{display:flex;justify-content:flex-end;padding:0.5rem}.visual-mode,.code-mode{display:block}.code-editor-container{--code-editor-max-height:70vh;display:flex;flex-direction:column;gap:1rem}.code-editor-container .validation-errors{padding:0.75rem 1rem;color:rgb(var(--color-red-default));background-color:rgb(var(--color-red-lighter));border-left:0.25rem solid rgb(var(--color-red-default));border-radius:0.25rem;font-size:0.875rem}.code-editor-container .validation-errors strong{display:block;margin-bottom:0.5rem;font-weight:600}.code-editor-container .validation-errors ul{margin:0;padding-left:1.5rem}.code-editor-container .validation-errors li{margin:0.25rem 0}.code-editor-container .visual-mode-limitations{padding:0.75rem 1rem;color:rgb(var(--color-blue-dark));background-color:rgb(var(--color-blue-lighter));border-left:0.25rem solid rgb(var(--color-blue-default));border-radius:0.25rem;font-size:0.875rem}.code-editor-container .visual-mode-limitations strong{display:block;margin-bottom:0.5rem;font-weight:600}.code-editor-container .visual-mode-limitations ul{margin:0;padding-left:1.5rem}.code-editor-container .visual-mode-limitations li{margin:0.25rem 0}"}},[1,"limebb-lime-query-response-format-builder",{platform:[16],context:[16],limetype:[1],value:[16],label:[1],helperText:[1,"helper-text"],limetypes:[32],mode:[32],codeValue:[32],internalValue:[32]}]);!function(e,t,i,o){var r,s=arguments.length,l=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(l=(s<3?r(l):s>3?r(t,i,l):r(t,i))||l);s>3&&l&&Object.defineProperty(t,i,l)}([s()],m.prototype,"limetypes",void 0);const u=m,h=function(){"undefined"!=typeof customElements&&["limebb-lime-query-response-format-builder","limebb-lime-query-response-format-editor","limebb-lime-query-response-format-item","limebb-property-selector"].forEach((e=>{switch(e){case"limebb-lime-query-response-format-builder":customElements.get(r(e))||customElements.define(r(e),m);break;case"limebb-lime-query-response-format-editor":customElements.get(r(e))||a();break;case"limebb-lime-query-response-format-item":customElements.get(r(e))||n();break;case"limebb-property-selector":customElements.get(r(e))||d()}}))};export{u as LimebbLimeQueryResponseFormatBuilder,h as defineCustomElement}
1
+ import{proxyCustomElement as e,HTMLElement as t,createEvent as i,h as o,transformTag as r}from"@stencil/core/internal/client";import{I as s}from"./index.esm.js";import{v as l}from"./lime-query-validation.js";import{d as a}from"./response-format-editor.js";import{d as n}from"./response-format-item.js";import{d}from"./property-selector.js";function m(e){let t;try{t=JSON.parse(e)}catch(e){throw Error("Invalid JSON: "+e.message)}if(null===t||"object"!=typeof t)throw Error("Response format must be an object");const i=new Set(["object","aggregates"]),o=Object.keys(t),r=o.filter((e=>!i.has(e)));if(r.length>0)throw Error(`Unexpected properties in response format: ${r.join(", ")}. Only 'object' and 'aggregates' are allowed.`);if(o.length>0&&!t.object&&!t.aggregates)throw Error("Response format must contain at least one of: object, aggregates");return t}const c=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.change=i(this,"change",7),this.label="Response Format",this.helperText="",this.mode="visual",this.codeValue="",this.handleModeChange=e=>{e.stopPropagation();const t=e.detail.id;"visual"===t?this.switchToVisualMode():"code"===t&&this.switchToCode()},this.switchToVisualMode=()=>{try{const e=m(this.codeValue);if(!l(e,this.limetypes,this.limetype,this.visualModeEnabled).visualModeSupported)return;this.internalValue=e,this.mode="visual",this.change.emit(e)}catch(e){}},this.switchToCode=()=>{this.updateCodeValue(),this.mode="code"},this.handleCodeChange=e=>{e.stopPropagation(),this.codeValue=e.detail;try{const e=m(this.codeValue);this.internalValue=e,this.change.emit(e)}catch(e){}},this.handleVisualModeChange=e=>{e.stopPropagation(),this.internalValue=e.detail,this.updateCodeValue(),this.change.emit(e.detail)}}get visualModeEnabled(){var e,t,i;return null!==(i=null===(t=null===(e=this.platform)||void 0===e?void 0:e.isFeatureEnabled)||void 0===t?void 0:t.call(e,"useLimeQueryBuilderGuiMode"))&&void 0!==i&&i}componentWillLoad(){this.internalValue=this.value||{object:{_id:null}},this.updateCodeValue(),this.visualModeEnabled&&this.checkVisualModeSupport().visualModeSupported||(this.mode="code")}componentWillUpdate(){this.value&&"visual"===this.mode&&(this.internalValue=this.value)}render(){const e=this.checkVisualModeSupport();return o("div",{key:"f8edf793b05904933998d41dff2680737671754b",class:"response-format-builder"},this.label&&o("h1",{key:"2e6aaf2a0b9fa285920ba71fdc7ef50a1967948b",class:"builder-label"},this.label),this.helperText&&o("p",{key:"99528513c236f945e8584cb30cc9880eaf049d2d",class:"builder-helper-text"},this.helperText),this.visualModeEnabled&&o("div",{key:"afdb567755d27858daab5490bf22b5c349d4fa0e",class:"mode-controls"},this.renderModeSwitch(e)),this.visualModeEnabled&&"code"!==this.mode?o("div",{class:"visual-mode"},this.renderVisualMode()):o("div",{class:"code-mode"},this.renderCodeEditor(e)))}renderModeSwitch(e){const t=!e.visualModeSupported,i=[{id:"visual",title:"Visual"},{id:"code",title:"Code"}].map((e=>Object.assign(Object.assign({},e),{selected:e.id===this.mode})));return o("limel-button-group",{value:i,disabled:t,onChange:this.handleModeChange})}renderCodeEditor(e){return o("div",{class:"code-editor-container"},o("limel-code-editor",{value:this.codeValue,language:"json",lineNumbers:!0,fold:!0,lint:!0,onChange:this.handleCodeChange}),!e.valid&&e.validationErrors.length>0&&o("div",{class:"validation-errors"},o("strong",null,"Invalid Response Format:"),o("ul",null,e.validationErrors.map((e=>o("li",null,e))))),this.visualModeEnabled&&e.valid&&!e.visualModeSupported&&e.visualModeLimitations.length>0&&o("div",{class:"visual-mode-limitations"},o("strong",null,"Cannot switch to visual mode:"),o("ul",null,e.visualModeLimitations.map((e=>o("li",null,e))))))}renderVisualMode(){return o("limebb-lime-query-response-format-editor",{platform:this.platform,context:this.context,limetype:this.limetype,value:this.internalValue,onChange:this.handleVisualModeChange})}checkVisualModeSupport(){if(!this.limetypes)return{valid:!1,visualModeSupported:!1,validationErrors:["Limetypes not loaded"],visualModeLimitations:[]};let e;if("code"===this.mode)try{e=m(this.codeValue)}catch(e){return{valid:!1,visualModeSupported:!1,validationErrors:[e.message],visualModeLimitations:[]}}else e=this.internalValue;return l(e,this.limetypes,this.limetype,this.visualModeEnabled)}updateCodeValue(){this.codeValue=function(e){return JSON.stringify(e,null,2)}(this.internalValue)}static get style(){return":host(limebb-lime-query-response-format-builder){display:block;width:100%}.response-format-builder{display:flex;flex-direction:column}.builder-label{color:rgb(var(--contrast-1100));font-size:1.625rem;line-height:1.25rem;font-weight:300;margin-top:1rem;margin-bottom:0.25rem}.builder-helper-text{margin-top:0px;margin-bottom:0.5rem;font-size:var(--limel-theme-default-font-size);color:rgb(var(--contrast-1100))}.mode-controls{display:flex;justify-content:flex-end;padding:0.5rem}.visual-mode,.code-mode{display:block}.code-editor-container{--code-editor-max-height:70vh;display:flex;flex-direction:column;gap:1rem}.code-editor-container .validation-errors{padding:0.75rem 1rem;color:rgb(var(--color-red-default));background-color:rgb(var(--color-red-lighter));border-left:0.25rem solid rgb(var(--color-red-default));border-radius:0.25rem;font-size:0.875rem}.code-editor-container .validation-errors strong{display:block;margin-bottom:0.5rem;font-weight:600}.code-editor-container .validation-errors ul{margin:0;padding-left:1.5rem}.code-editor-container .validation-errors li{margin:0.25rem 0}.code-editor-container .visual-mode-limitations{padding:0.75rem 1rem;color:rgb(var(--color-blue-dark));background-color:rgb(var(--color-blue-lighter));border-left:0.25rem solid rgb(var(--color-blue-default));border-radius:0.25rem;font-size:0.875rem}.code-editor-container .visual-mode-limitations strong{display:block;margin-bottom:0.5rem;font-weight:600}.code-editor-container .visual-mode-limitations ul{margin:0;padding-left:1.5rem}.code-editor-container .visual-mode-limitations li{margin:0.25rem 0}"}},[1,"limebb-lime-query-response-format-builder",{platform:[16],context:[16],limetype:[1],value:[16],label:[1],helperText:[1,"helper-text"],limetypes:[32],mode:[32],codeValue:[32],internalValue:[32]}]);!function(e,t,i,o){var r,s=arguments.length,l=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(l=(s<3?r(l):s>3?r(t,i,l):r(t,i))||l);s>3&&l&&Object.defineProperty(t,i,l)}([s()],c.prototype,"limetypes",void 0);const u=c,h=function(){"undefined"!=typeof customElements&&["limebb-lime-query-response-format-builder","limebb-lime-query-response-format-editor","limebb-lime-query-response-format-item","limebb-property-selector"].forEach((e=>{switch(e){case"limebb-lime-query-response-format-builder":customElements.get(r(e))||customElements.define(r(e),c);break;case"limebb-lime-query-response-format-editor":customElements.get(r(e))||a();break;case"limebb-lime-query-response-format-item":customElements.get(r(e))||n();break;case"limebb-property-selector":customElements.get(r(e))||d()}}))};export{u as LimebbLimeQueryResponseFormatBuilder,h as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as t,h as i,transformTag as l}from"@stencil/core/internal/client";import{G as s,R as r,b as o}from"./index.esm.js";import{g as n}from"./extension-mapping.js";import{d as c}from"./empty-state.js";import{d as a}from"./live-docs-info.js";import{n as f}from"./negate.js";const m=["pdf","edit","view"];var h=function(e,t,i,l){var s,r=arguments.length,o=r<3?t:null===l?l=Object.getOwnPropertyDescriptor(t,i):l;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,l);else for(var n=e.length-1;n>=0;n--)(s=e[n])&&(o=(r<3?s(o):r>3?s(t,i,o):s(t,i))||o);return r>3&&o&&Object.defineProperty(t,i,o),o};const u=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.fileTypes=["view","contents","download"],this.renderLiveDocs=e=>{if(!this.isLiveDocsAvailable(e))return i("limebb-live-docs-info",null);if(!this.platform.isFeatureEnabled("useOfficeFilePreview"))return i("limebb-empty-state",{value:"Preview of this file type will be available soon",icon:{name:"attention",color:"rgb(var(--color-blue-light))"}});const t=this.getLiveDocsUrl(e);return i("iframe",{src:t,frameBorder:0,marginHeight:0,marginWidth:0})},this.renderFileViewer=e=>{const t=e.filename,l=this.getFileUrl(e);return l?i("limel-file-viewer",{filename:t,url:l,allowFullscreen:!0,allowOpenInNewTab:!0}):this.renderNotFound()},this.renderUnsupported=e=>i("limel-file-viewer",{filename:e.filename,url:void 0,allowFullscreen:!0,allowOpenInNewTab:!0}),this.renderNotFound=()=>[i("section",{class:"not-found"},i("limel-icon",{name:"error",size:"large"}),i("h2",null,this.translator.get("webclient.not-found")),i("p",null,this.translator.get("webclient.no-files-attached",{object:this.getDescriptive(this.limeobject)})))]}render(){const e=this.getFile();if(!e)return this.renderNotFound();const t=n(e.extension);return(0,{fileViewer:this.renderFileViewer,browser:this.renderFileViewer,sharepoint:this.renderLiveDocs,unsupported:this.renderUnsupported}[t])(e)}getLiveDocsUrl(e){let t=[...this.fileTypes];return this.platform.isFeatureEnabled("useOfficeFilePreview")&&(t=["pdf",...t]),t.filter(this.isLiveDocsType).map((t=>e.getUrl(t))).find(Boolean)}getFileUrl(e){return this.fileTypes.filter(f(this.isLiveDocsType)).map((t=>e.getUrl(t))).find(Boolean)}getFile(){const e=this.fileProperty;if(e)return this.limeobject.getFile(e.name)}isLiveDocsAvailable(e){return m.some((t=>e.getUrl(t)))}isLiveDocsType(e){return m.includes(e)}getDescriptive(e){var t;return(null==e?void 0:e.descriptive)||(null===(t=this.limetype)||void 0===t?void 0:t.localname.singular)||this.translator.get("object")}get fileProperty(){if(this.limeobject){if(this.property){const e=this.limeobject.getLimetype().getProperty(this.property);if("file"===e.type)return e}return Object.values(this.limeobject.getLimetype().properties).find((e=>"file"===e.type))}}get translator(){return this.platform.get(o.Translate)}static get style(){return".not-found{display:flex;flex-direction:column;height:100%;align-items:center;justify-content:center;line-height:1rem;color:rgb(var(--contrast-1100))}.not-found limel-icon{color:rgb(var(--color-red-default))}iframe{height:100%;width:100%}"}},[1,"limebb-limeobject-file-viewer",{platform:[16],context:[16],property:[1],fileTypes:[16],limeobject:[32],limetype:[32]}]);h([s()],u.prototype,"limeobject",void 0),h([r()],u.prototype,"limetype",void 0);const b=u,p=function(){"undefined"!=typeof customElements&&["limebb-limeobject-file-viewer","limebb-empty-state","limebb-live-docs-info"].forEach((e=>{switch(e){case"limebb-limeobject-file-viewer":customElements.get(l(e))||customElements.define(l(e),u);break;case"limebb-empty-state":customElements.get(l(e))||c();break;case"limebb-live-docs-info":customElements.get(l(e))||a()}}))};export{b as LimebbLimeobjectFileViewer,p as defineCustomElement}
1
+ import{proxyCustomElement as e,HTMLElement as t,h as i,transformTag as l}from"@stencil/core/internal/client";import{W as s,L as r,n as o}from"./index.esm.js";import{g as n}from"./extension-mapping.js";import{d as c}from"./empty-state.js";import{d as a}from"./live-docs-info.js";import{n as f}from"./negate.js";const m=["pdf","edit","view"];var h=function(e,t,i,l){var s,r=arguments.length,o=r<3?t:null===l?l=Object.getOwnPropertyDescriptor(t,i):l;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,l);else for(var n=e.length-1;n>=0;n--)(s=e[n])&&(o=(r<3?s(o):r>3?s(t,i,o):s(t,i))||o);return r>3&&o&&Object.defineProperty(t,i,o),o};const u=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.fileTypes=["view","contents","download"],this.renderLiveDocs=e=>{if(!this.isLiveDocsAvailable(e))return i("limebb-live-docs-info",null);if(!this.platform.isFeatureEnabled("useOfficeFilePreview"))return i("limebb-empty-state",{value:"Preview of this file type will be available soon",icon:{name:"attention",color:"rgb(var(--color-blue-light))"}});const t=this.getLiveDocsUrl(e);return i("iframe",{src:t,frameBorder:0,marginHeight:0,marginWidth:0})},this.renderFileViewer=e=>{const t=e.filename,l=this.getFileUrl(e);return l?i("limel-file-viewer",{filename:t,url:l,allowFullscreen:!0,allowOpenInNewTab:!0}):this.renderNotFound()},this.renderUnsupported=e=>i("limel-file-viewer",{filename:e.filename,url:void 0,allowFullscreen:!0,allowOpenInNewTab:!0}),this.renderNotFound=()=>[i("section",{class:"not-found"},i("limel-icon",{name:"error",size:"large"}),i("h2",null,this.translator.get("webclient.not-found")),i("p",null,this.translator.get("webclient.no-files-attached",{object:this.getDescriptive(this.limeobject)})))]}render(){const e=this.getFile();if(!e)return this.renderNotFound();const t=n(e.extension);return(0,{fileViewer:this.renderFileViewer,browser:this.renderFileViewer,sharepoint:this.renderLiveDocs,unsupported:this.renderUnsupported}[t])(e)}getLiveDocsUrl(e){let t=[...this.fileTypes];return this.platform.isFeatureEnabled("useOfficeFilePreview")&&(t=["pdf",...t]),t.filter(this.isLiveDocsType).map((t=>e.getUrl(t))).find(Boolean)}getFileUrl(e){return this.fileTypes.filter(f(this.isLiveDocsType)).map((t=>e.getUrl(t))).find(Boolean)}getFile(){const e=this.fileProperty;if(e)return this.limeobject.getFile(e.name)}isLiveDocsAvailable(e){return m.some((t=>e.getUrl(t)))}isLiveDocsType(e){return m.includes(e)}getDescriptive(e){var t;return(null==e?void 0:e.descriptive)||(null===(t=this.limetype)||void 0===t?void 0:t.localname.singular)||this.translator.get("object")}get fileProperty(){if(this.limeobject){if(this.property){const e=this.limeobject.getLimetype().getProperty(this.property);if("file"===e.type)return e}return Object.values(this.limeobject.getLimetype().properties).find((e=>"file"===e.type))}}get translator(){return this.platform.get(o.Translate)}static get style(){return".not-found{display:flex;flex-direction:column;height:100%;align-items:center;justify-content:center;line-height:1rem;color:rgb(var(--contrast-1100))}.not-found limel-icon{color:rgb(var(--color-red-default))}iframe{height:100%;width:100%}"}},[1,"limebb-limeobject-file-viewer",{platform:[16],context:[16],property:[1],fileTypes:[16],limeobject:[32],limetype:[32]}]);h([s()],u.prototype,"limeobject",void 0),h([r()],u.prototype,"limetype",void 0);const b=u,p=function(){"undefined"!=typeof customElements&&["limebb-limeobject-file-viewer","limebb-empty-state","limebb-live-docs-info"].forEach((e=>{switch(e){case"limebb-limeobject-file-viewer":customElements.get(l(e))||customElements.define(l(e),u);break;case"limebb-empty-state":customElements.get(l(e))||c();break;case"limebb-live-docs-info":customElements.get(l(e))||a()}}))};export{b as LimebbLimeobjectFileViewer,p as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as t,createEvent as o,transformTag as i}from"@stencil/core/internal/client";import{H as n,b as l}from"./index.esm.js";import{H as c}from"./highlight-item.handler.js";let s=class{constructor(e){this.itemId=e}};s=function(e,t,o,i){var n,l=arguments.length,c=l<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,o,i);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(c=(l<3?n(c):l>3?n(t,o,c):n(t,o))||c);return l>3&&c&&Object.defineProperty(t,o,c),c}([n({id:"limebb-feed.highlight-item"})],s);const m="limetech.limeobject-matches-filter",r=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.loaded=o(this,"loaded",7)}connectedCallback(){}async componentWillLoad(){const e=new c;this.platform.register(c.SERVICE_NAME,e),this.commandBus.register(s,e),(e=>{e.listPrimitives().some((e=>e.id===m))&&e.attachMetadata(m,{configComponent:{name:"limebb-rule-arg-filter-editor"}})})(this.platform.get(l.RuleRegistry)),(()=>{this.platform.get(l.RuleRegistry).attachMetadata("limetech.value-comparison",{configComponent:{name:"limebb-value-comparison-editor"}})})(),this.loaded.emit()}componentWillUpdate(){}disconnectedCallback(){}get commandBus(){return this.platform.get(l.CommandBus)}},[1,"limebb-loader",{platform:[16],context:[16]}]),a=r,f=function(){"undefined"!=typeof customElements&&["limebb-loader"].forEach((e=>{"limebb-loader"===e&&(customElements.get(i(e))||customElements.define(i(e),r))}))};export{a as LimebbLoader,f as defineCustomElement}
1
+ import{proxyCustomElement as e,HTMLElement as t,createEvent as o,transformTag as i}from"@stencil/core/internal/client";import{U as n,n as l}from"./index.esm.js";import{H as c}from"./highlight-item.handler.js";let s=class{constructor(e){this.itemId=e}};s=function(e,t,o,i){var n,l=arguments.length,c=l<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)c=Reflect.decorate(e,t,o,i);else for(var s=e.length-1;s>=0;s--)(n=e[s])&&(c=(l<3?n(c):l>3?n(t,o,c):n(t,o))||c);return l>3&&c&&Object.defineProperty(t,o,c),c}([n({id:"limebb-feed.highlight-item"})],s);const m="limetech.limeobject-matches-filter",r=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.loaded=o(this,"loaded",7)}connectedCallback(){}async componentWillLoad(){const e=new c;this.platform.register(c.SERVICE_NAME,e),this.commandBus.register(s,e),(e=>{e.listPrimitives().some((e=>e.id===m))&&e.attachMetadata(m,{configComponent:{name:"limebb-rule-arg-filter-editor"}})})(this.platform.get(l.RuleRegistry)),(()=>{this.platform.get(l.RuleRegistry).attachMetadata("limetech.value-comparison",{configComponent:{name:"limebb-value-comparison-editor"}})})(),this.loaded.emit()}componentWillUpdate(){}disconnectedCallback(){}get commandBus(){return this.platform.get(l.CommandBus)}},[1,"limebb-loader",{platform:[16],context:[16]}]),a=r,f=function(){"undefined"!=typeof customElements&&["limebb-loader"].forEach((e=>{"limebb-loader"===e&&(customElements.get(i(e))||customElements.define(i(e),r))}))};export{a as LimebbLoader,f as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as n,HTMLElement as r,createEvent as t,h as e,transformTag as u}from"@stencil/core/internal/client";import{b as i}from"./index.esm.js";import{t as f,c as o,a,i as c,g as s,b as l,d as v}from"./get.js";import{e as d,f as h,h as m,j as p,S as b,k as y,l as g,d as j}from"./_Uint8Array.js";import{c as x,e as k,a as w,S as A}from"./_MapCache.js";import{b as E}from"./_baseIsEqual.js";import{i as O}from"./isSymbol.js";import{d as S}from"./_defineProperty.js";function _(n){return n}var q=Date.now;function C(n){return function(){return n}}var U=function(n){var r=0,t=0;return function(){var e=q(),u=16-(e-t);if(t=e,u>0){if(++r>=800)return arguments[0]}else r=0;return n.apply(void 0,arguments)}}(S?function(n,r){return S(n,"toString",{configurable:!0,enumerable:!1,value:C(r),writable:!0})}:_),I=Math.max;function L(n,r,t){if(!x(t))return!1;var e=typeof r;return!!("number"==e?d(t)&&h(r,t.length):"string"==e&&r in t)&&k(t[r],n)}var M=A?A.isConcatSpreadable:void 0;function R(n){return w(n)||m(n)||!!(M&&n&&n[M])}var T=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function D(n){return T.test(n)}var P="\\ud800-\\udfff",W="["+P+"]",z="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",B="\\ud83c[\\udffb-\\udfff]",F="[^"+P+"]",G="(?:\\ud83c[\\udde6-\\uddff]){2}",H="[\\ud800-\\udbff][\\udc00-\\udfff]",J="(?:"+z+"|"+B+")?",K="[\\ufe0e\\ufe0f]?",N=K+J+"(?:\\u200d(?:"+[F,G,H].join("|")+")"+K+J+")*",Q=RegExp(B+"(?="+B+")|(?:"+[F+z+"?",z,G,H,W].join("|")+")"+N,"g");var V=function(n){var r=D(n=f(n))?function(n){return D(n)?function(n){return n.match(Q)||[]}(n):function(n){return n.split("")}(n)}(n):void 0,t=r?r[0]:n.charAt(0),e=r?function(n,r,t){var e=n.length;return t=void 0===t?e:t,!r&&t>=e?n:function(n,r,t){var e=-1,u=n.length;r<0&&(r=-r>u?0:u+r),(t=t>u?u:t)<0&&(t+=u),u=r>t?0:t-r>>>0,r>>>=0;for(var i=Array(u);++e<u;)i[e]=n[e+r];return i}(n,r,t)}(r,1).join(""):n.slice(1);return t.toUpperCase()+e};function X(n){return n==n&&!x(n)}function Y(n,r){return function(t){return null!=t&&t[n]===r&&(void 0!==r||n in Object(t))}}function Z(n,r){return null!=n&&r in Object(n)}function $(n){return"function"==typeof n?n:null==n?_:"object"==typeof n?w(n)?function(n,r){return c(n)&&X(r)?Y(a(n),r):function(t){var e=s(t,n);return void 0===e&&e===r?function(n,r){return null!=n&&function(n,r,t){for(var e=-1,u=(r=o(r,n)).length,i=!1;++e<u;){var f=a(r[e]);if(!(i=null!=n&&t(n,f)))break;n=n[f]}return i||++e!=u?i:!!(u=null==n?0:n.length)&&g(u)&&h(f,u)&&(w(n)||m(n))}(n,r,Z)}(t,n):E(r,e,3)}}(n[0],n[1]):function(n){var r=function(n){for(var r=y(n),t=r.length;t--;){var e=r[t],u=n[e];r[t]=[e,u,X(u)]}return r}(n);return 1==r.length&&r[0][2]?Y(r[0][0],r[0][1]):function(t){return t===n||function(n,r,t){var e=t.length,u=e;if(null==n)return!u;for(n=Object(n);e--;){var i=t[e];if(i[2]?i[1]!==n[i[0]]:!(i[0]in n))return!1}for(;++e<u;){var f=(i=t[e])[0],o=n[f],a=i[1];if(i[2]){if(void 0===o&&!(f in n))return!1}else{var c=new b;if(!E(a,o,3,void 0,c))return!1}}return!0}(t,0,r)}}(n):function(n){return c(n)?function(n){return function(r){return null==r?void 0:r[n]}}(a(n)):function(n){return function(r){return l(r,n)}}(n)}(n)}var nn=function(n,r){if(null==n)return n;if(!d(n))return function(n,r){return n&&function(n,r,t){for(var e=-1,u=Object(n),i=t(n),f=i.length;f--;){var o=i[++e];if(!1===r(u[o],o,u))break}return n}(n,r,y)}(n,r);for(var t=n.length,e=-1,u=Object(n);++e<t&&!1!==r(u[e],e,u););return n};function rn(n,r){if(n!==r){var t=void 0!==n,e=null===n,u=n==n,i=O(n),f=void 0!==r,o=null===r,a=r==r,c=O(r);if(!o&&!c&&!i&&n>r||i&&f&&a&&!o&&!c||e&&f&&a||!t&&a||!u)return 1;if(!e&&!i&&!c&&n<r||c&&t&&u&&!e&&!i||o&&t&&u||!f&&u||!a)return-1}return 0}function tn(n,r,t){r=r.length?v(r,(function(n){return w(n)?function(r){return l(r,1===n.length?n[0]:n)}:n})):[_];var e=-1;r=v(r,j($));var u=function(n,r){var t=-1,e=d(n)?Array(n.length):[];return nn(n,(function(n){e[++t]=r(n)})),e}(n,(function(n){return{criteria:v(r,(function(r){return r(n)})),index:++e,value:n}}));return function(n){var r=n.length;for(n.sort((function(n,r){return function(n,r,t){for(var e=-1,u=n.criteria,i=r.criteria,f=u.length,o=t.length;++e<f;){var a=rn(u[e],i[e]);if(a)return e>=o?a:a*("desc"==t[e]?-1:1)}return n.index-r.index}(n,r,t)}));r--;)n[r]=n[r].value;return n}(u)}var en=function(n){return U(function(n,r,t){return r=I(void 0===r?1:r,0),function(){for(var e=arguments,u=-1,i=I(e.length-r,0),f=Array(i);++u<i;)f[u]=e[r+u];u=-1;for(var o=Array(r+1);++u<r;)o[u]=e[u];return o[r]=t(f),function(n,r,t){switch(t.length){case 0:return n.call(r);case 1:return n.call(r,t[0]);case 2:return n.call(r,t[0],t[1]);case 3:return n.call(r,t[0],t[1],t[2])}return n.apply(r,t)}(n,this,o)}}(n,void 0,_),n+"")}((function(n,r){if(null==n)return[];var t=r.length;return t>1&&L(n,r[0],r[1])?r=[]:t>2&&L(r[0],r[1],r[2])&&(r=[r[0]]),tn(n,function(n,r,t,e,u){var i=-1,f=n.length;for(t||(t=R),u||(u=[]);++i<f;){var o=n[i];t(o)?p(u,o):u[u.length]=o}return u}(r),[])}));function un(n,r){if(0===n.length||0===r.length)return"";n="en_us"===n?"en-US":n,r="en_us"===r?"en-US":r;const t=(new Intl.DisplayNames(r,{type:"language"}).of(n)||"").split(" ");return t[0]=function(n){return V(f(n).toLowerCase())}(t[0]),t.join(" ")}const fn=n(class extends r{constructor(n){super(),!1!==n&&this.__registerHost(),this.__attachShadow(),this.change=t(this,"change",7),this.context={limetype:null,id:null},this.handleChange=n=>{n.stopPropagation(),this.change.emit(this.multipleChoice?n.detail.map((n=>n.value)):n.detail.value)}}async componentWillLoad(){try{this.http=this.platform.get(i.Http),this.allLanguages=await async function(n){const r=await n.get("api/v1/admin/settings/languages"),t=[];return(null==r?void 0:r.active)&&t.push(...r.active),(null==r?void 0:r.inactive)&&t.push(...r.inactive),t}(this.http)}catch(n){console.error(n)}}getOptions(){return this.allLanguages.map((n=>({value:n,text:un(n,n)})))}render(){const n=this.getOptions();let r;if(Array.isArray(this.value)){const t=this.value;r=n.filter((n=>t.includes(n.value)))}else{const t=this.value;r=n.find((n=>n.value===t))}return e("limel-select",{key:"36c73b129d7750a035ec241c412a6c2447e23bd4",value:r,options:en(n,"text"),helperText:this.helperText,label:this.label,required:this.required,disabled:this.disabled,readonly:this.readonly,onChange:this.handleChange,multiple:this.multipleChoice})}},[1,"limebb-locale-picker",{platform:[16],context:[16],value:[1],required:[4],disabled:[4],label:[1],helperText:[1,"helper-text"],readonly:[4],multipleChoice:[4,"multiple-choice"],allLanguages:[32]}]),on=fn,an=function(){"undefined"!=typeof customElements&&["limebb-locale-picker"].forEach((n=>{"limebb-locale-picker"===n&&(customElements.get(u(n))||customElements.define(u(n),fn))}))};export{on as LimebbLocalePicker,an as defineCustomElement}
1
+ import{proxyCustomElement as n,HTMLElement as r,createEvent as t,h as e,transformTag as u}from"@stencil/core/internal/client";import{n as i}from"./index.esm.js";import{t as f,c as o,a,i as c,g as s,b as l,d}from"./get.js";import{e as v,f as h,h as m,j as p,S as b,k as y,l as g,d as j}from"./_Uint8Array.js";import{c as x,e as k,a as w,S as A}from"./_MapCache.js";import{b as E}from"./_baseIsEqual.js";import{i as O}from"./isSymbol.js";import{d as S}from"./_defineProperty.js";function _(n){return n}var q=Date.now;function C(n){return function(){return n}}var U=function(n){var r=0,t=0;return function(){var e=q(),u=16-(e-t);if(t=e,u>0){if(++r>=800)return arguments[0]}else r=0;return n.apply(void 0,arguments)}}(S?function(n,r){return S(n,"toString",{configurable:!0,enumerable:!1,value:C(r),writable:!0})}:_),I=Math.max;function L(n,r,t){if(!x(t))return!1;var e=typeof r;return!!("number"==e?v(t)&&h(r,t.length):"string"==e&&r in t)&&k(t[r],n)}var M=A?A.isConcatSpreadable:void 0;function R(n){return w(n)||m(n)||!!(M&&n&&n[M])}var T=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function D(n){return T.test(n)}var P="\\ud800-\\udfff",W="["+P+"]",z="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",B="\\ud83c[\\udffb-\\udfff]",F="[^"+P+"]",G="(?:\\ud83c[\\udde6-\\uddff]){2}",H="[\\ud800-\\udbff][\\udc00-\\udfff]",J="(?:"+z+"|"+B+")?",K="[\\ufe0e\\ufe0f]?",N=K+J+"(?:\\u200d(?:"+[F,G,H].join("|")+")"+K+J+")*",Q=RegExp(B+"(?="+B+")|(?:"+[F+z+"?",z,G,H,W].join("|")+")"+N,"g");var V=function(n){var r=D(n=f(n))?function(n){return D(n)?function(n){return n.match(Q)||[]}(n):function(n){return n.split("")}(n)}(n):void 0,t=r?r[0]:n.charAt(0),e=r?function(n,r,t){var e=n.length;return t=void 0===t?e:t,!r&&t>=e?n:function(n,r,t){var e=-1,u=n.length;r<0&&(r=-r>u?0:u+r),(t=t>u?u:t)<0&&(t+=u),u=r>t?0:t-r>>>0,r>>>=0;for(var i=Array(u);++e<u;)i[e]=n[e+r];return i}(n,r,t)}(r,1).join(""):n.slice(1);return t.toUpperCase()+e};function X(n){return n==n&&!x(n)}function Y(n,r){return function(t){return null!=t&&t[n]===r&&(void 0!==r||n in Object(t))}}function Z(n,r){return null!=n&&r in Object(n)}function $(n){return"function"==typeof n?n:null==n?_:"object"==typeof n?w(n)?function(n,r){return c(n)&&X(r)?Y(a(n),r):function(t){var e=s(t,n);return void 0===e&&e===r?function(n,r){return null!=n&&function(n,r,t){for(var e=-1,u=(r=o(r,n)).length,i=!1;++e<u;){var f=a(r[e]);if(!(i=null!=n&&t(n,f)))break;n=n[f]}return i||++e!=u?i:!!(u=null==n?0:n.length)&&g(u)&&h(f,u)&&(w(n)||m(n))}(n,r,Z)}(t,n):E(r,e,3)}}(n[0],n[1]):function(n){var r=function(n){for(var r=y(n),t=r.length;t--;){var e=r[t],u=n[e];r[t]=[e,u,X(u)]}return r}(n);return 1==r.length&&r[0][2]?Y(r[0][0],r[0][1]):function(t){return t===n||function(n,r,t){var e=t.length,u=e;if(null==n)return!u;for(n=Object(n);e--;){var i=t[e];if(i[2]?i[1]!==n[i[0]]:!(i[0]in n))return!1}for(;++e<u;){var f=(i=t[e])[0],o=n[f],a=i[1];if(i[2]){if(void 0===o&&!(f in n))return!1}else{var c=new b;if(!E(a,o,3,void 0,c))return!1}}return!0}(t,0,r)}}(n):function(n){return c(n)?function(n){return function(r){return null==r?void 0:r[n]}}(a(n)):function(n){return function(r){return l(r,n)}}(n)}(n)}var nn=function(n,r){if(null==n)return n;if(!v(n))return function(n,r){return n&&function(n,r,t){for(var e=-1,u=Object(n),i=t(n),f=i.length;f--;){var o=i[++e];if(!1===r(u[o],o,u))break}return n}(n,r,y)}(n,r);for(var t=n.length,e=-1,u=Object(n);++e<t&&!1!==r(u[e],e,u););return n};function rn(n,r){if(n!==r){var t=void 0!==n,e=null===n,u=n==n,i=O(n),f=void 0!==r,o=null===r,a=r==r,c=O(r);if(!o&&!c&&!i&&n>r||i&&f&&a&&!o&&!c||e&&f&&a||!t&&a||!u)return 1;if(!e&&!i&&!c&&n<r||c&&t&&u&&!e&&!i||o&&t&&u||!f&&u||!a)return-1}return 0}function tn(n,r,t){r=r.length?d(r,(function(n){return w(n)?function(r){return l(r,1===n.length?n[0]:n)}:n})):[_];var e=-1;r=d(r,j($));var u=function(n,r){var t=-1,e=v(n)?Array(n.length):[];return nn(n,(function(n){e[++t]=r(n)})),e}(n,(function(n){return{criteria:d(r,(function(r){return r(n)})),index:++e,value:n}}));return function(n){var r=n.length;for(n.sort((function(n,r){return function(n,r,t){for(var e=-1,u=n.criteria,i=r.criteria,f=u.length,o=t.length;++e<f;){var a=rn(u[e],i[e]);if(a)return e>=o?a:a*("desc"==t[e]?-1:1)}return n.index-r.index}(n,r,t)}));r--;)n[r]=n[r].value;return n}(u)}var en=function(n){return U(function(n,r,t){return r=I(void 0===r?1:r,0),function(){for(var e=arguments,u=-1,i=I(e.length-r,0),f=Array(i);++u<i;)f[u]=e[r+u];u=-1;for(var o=Array(r+1);++u<r;)o[u]=e[u];return o[r]=t(f),function(n,r,t){switch(t.length){case 0:return n.call(r);case 1:return n.call(r,t[0]);case 2:return n.call(r,t[0],t[1]);case 3:return n.call(r,t[0],t[1],t[2])}return n.apply(r,t)}(n,this,o)}}(n,void 0,_),n+"")}((function(n,r){if(null==n)return[];var t=r.length;return t>1&&L(n,r[0],r[1])?r=[]:t>2&&L(r[0],r[1],r[2])&&(r=[r[0]]),tn(n,function(n,r,t,e,u){var i=-1,f=n.length;for(t||(t=R),u||(u=[]);++i<f;){var o=n[i];t(o)?p(u,o):u[u.length]=o}return u}(r),[])}));function un(n,r){if(0===n.length||0===r.length)return"";n="en_us"===n?"en-US":n,r="en_us"===r?"en-US":r;const t=(new Intl.DisplayNames(r,{type:"language"}).of(n)||"").split(" ");return t[0]=function(n){return V(f(n).toLowerCase())}(t[0]),t.join(" ")}const fn=n(class extends r{constructor(n){super(),!1!==n&&this.__registerHost(),this.__attachShadow(),this.change=t(this,"change",7),this.context={limetype:null,id:null},this.handleChange=n=>{n.stopPropagation(),this.change.emit(this.multipleChoice?n.detail.map((n=>n.value)):n.detail.value)}}async componentWillLoad(){try{this.http=this.platform.get(i.Http),this.allLanguages=await async function(n){const r=await n.get("api/v1/admin/settings/languages"),t=[];return(null==r?void 0:r.active)&&t.push(...r.active),(null==r?void 0:r.inactive)&&t.push(...r.inactive),t}(this.http)}catch(n){console.error(n)}}getOptions(){return this.allLanguages.map((n=>({value:n,text:un(n,n)})))}render(){const n=this.getOptions();let r;if(Array.isArray(this.value)){const t=this.value;r=n.filter((n=>t.includes(n.value)))}else{const t=this.value;r=n.find((n=>n.value===t))}return e("limel-select",{key:"cb38c95a546757f47d376def9d3cf2f5d8176cf9",value:r,options:en(n,"text"),helperText:this.helperText,label:this.label,required:this.required,disabled:this.disabled,readonly:this.readonly,onChange:this.handleChange,multiple:this.multipleChoice})}},[1,"limebb-locale-picker",{platform:[16],context:[16],value:[1],required:[4],disabled:[4],label:[1],helperText:[1,"helper-text"],readonly:[4],multipleChoice:[4,"multiple-choice"],allLanguages:[32]}]),on=fn,an=function(){"undefined"!=typeof customElements&&["limebb-locale-picker"].forEach((n=>{"limebb-locale-picker"===n&&(customElements.get(u(n))||customElements.define(u(n),fn))}))};export{on as LimebbLocalePicker,an as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as t,h as r,transformTag as o}from"@stencil/core/internal/client";const n=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.tooltipId="a"+crypto.randomUUID()}render(){const e=this.getLabel();return[r("span",{key:"638df46fb134015d8f9402830580d36dc759bcd1",id:this.tooltipId},e),r("limel-tooltip",{key:"bdd49e3025be834b9d808473d456341a50d6f50d",elementId:this.tooltipId,label:e,helperLabel:this.helperLabel})]}getLabel(){const e=this.limetype.localname;return`${this.count} ${1===this.count?e.singular:e.plural}`}static get style(){return":host(limebb-mention-group-counter){order:2;margin-right:-0.5rem;box-sizing:border-box;transition:background-color 0.2s ease;min-width:fit-content;font-size:smaller;border-radius:9rem;cursor:help;padding:0.25rem 0.5rem;line-height:1;border:1px solid rgb(var(--contrast-500))}:host(limebb-mention-group-counter:hover){border-color:rgb(var(--contrast-100));background-color:rgb(var(--contrast-600))}"}},[1,"limebb-mention-group-counter",{count:[2],limetype:[16],helperLabel:[1,"helper-label"]}]),i=n,s=function(){"undefined"!=typeof customElements&&["limebb-mention-group-counter"].forEach((e=>{"limebb-mention-group-counter"===e&&(customElements.get(o(e))||customElements.define(o(e),n))}))};export{i as LimebbMentionGroupCounter,s as defineCustomElement}
1
+ import{proxyCustomElement as e,HTMLElement as t,h as r,transformTag as o}from"@stencil/core/internal/client";const n=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.tooltipId="a"+crypto.randomUUID()}render(){const e=this.getLabel();return[r("span",{key:"b6e816b8efd22fdaff81f6669d11ab8efae9e05e",id:this.tooltipId},e),r("limel-tooltip",{key:"62294172fabc48ad688b14ae75fe43d142ac0cb7",elementId:this.tooltipId,label:e,helperLabel:this.helperLabel})]}getLabel(){const e=this.limetype.localname;return`${this.count} ${1===this.count?e.singular:e.plural}`}static get style(){return":host(limebb-mention-group-counter){order:2;margin-right:-0.5rem;box-sizing:border-box;transition:background-color 0.2s ease;min-width:fit-content;font-size:smaller;border-radius:9rem;cursor:help;padding:0.25rem 0.5rem;line-height:1;border:1px solid rgb(var(--contrast-500))}:host(limebb-mention-group-counter:hover){border-color:rgb(var(--contrast-100));background-color:rgb(var(--contrast-600))}"}},[1,"limebb-mention-group-counter",{count:[2],limetype:[16],helperLabel:[1,"helper-label"]}]),i=n,s=function(){"undefined"!=typeof customElements&&["limebb-mention-group-counter"].forEach((e=>{"limebb-mention-group-counter"===e&&(customElements.get(o(e))||customElements.define(o(e),n))}))};export{i as LimebbMentionGroupCounter,s as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as t,getElement as o,h as r,transformTag as i}from"@stencil/core/internal/client";import{f as n}from"./dom.js";import{b as s}from"./index.esm.js";const a=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow()}connectedCallback(){const e=n(o(this),this.hasPlatform);e&&this.loadLimeObject(e.platform)}hasPlatform(e){return"platform"in e&&!!e.platform&&"object"==typeof e.platform}async loadLimeObject(e){const t=e.get(s.LimeObjectRepository);if(this.limeobject=t.getObject(this.limetype,this.objectid),!this.limeobject){try{await t.loadObject(this.limetype,this.objectid)}catch(e){console.error("Could not load mentioned object")}this.limeobject=t.getObject(this.limetype,this.objectid)}}render(){return this.limeobject?this.renderLimeObject(this.limeobject):this.renderSlot()}renderLimeObject(e){return r("a",{href:`object/${this.limetype}/${this.objectid}`},e.descriptive,this.renderSlot({hidden:!0}))}renderSlot(e={}){return r("span",Object.assign({},e),r("slot",null))}static get style(){return':host(limebb-mention){display:inline}a{transition:background-color 0.2s ease;white-space:normal;overflow-wrap:break-word;word-break:break-word;padding:0 0.125rem;border-radius:0.25rem;text-decoration:none;color:rgb(var(--color-blue-default));background-color:rgb(var(--color-blue-default), 0.06)}a:hover{background-color:rgb(var(--color-blue-default), 0.16)}a:before,span:before{content:"@";opacity:0.7}'}},[257,"limebb-mention",{limetype:[1],objectid:[2],limeobject:[32]}]),c=a,l=function(){"undefined"!=typeof customElements&&["limebb-mention"].forEach((e=>{"limebb-mention"===e&&(customElements.get(i(e))||customElements.define(i(e),a))}))};export{c as LimebbMention,l as defineCustomElement}
1
+ import{proxyCustomElement as e,HTMLElement as t,getElement as o,h as r,transformTag as i}from"@stencil/core/internal/client";import{f as n}from"./dom.js";import{n as s}from"./index.esm.js";const a=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow()}connectedCallback(){const e=n(o(this),this.hasPlatform);e&&this.loadLimeObject(e.platform)}hasPlatform(e){return"platform"in e&&!!e.platform&&"object"==typeof e.platform}async loadLimeObject(e){const t=e.get(s.LimeObjectRepository);if(this.limeobject=t.getObject(this.limetype,this.objectid),!this.limeobject){try{await t.loadObject(this.limetype,this.objectid)}catch(e){console.error("Could not load mentioned object")}this.limeobject=t.getObject(this.limetype,this.objectid)}}render(){return this.limeobject?this.renderLimeObject(this.limeobject):this.renderSlot()}renderLimeObject(e){return r("a",{href:`object/${this.limetype}/${this.objectid}`},e.descriptive,this.renderSlot({hidden:!0}))}renderSlot(e={}){return r("span",Object.assign({},e),r("slot",null))}static get style(){return':host(limebb-mention){display:inline}a{transition:background-color 0.2s ease;white-space:normal;overflow-wrap:break-word;word-break:break-word;padding:0 0.125rem;border-radius:0.25rem;text-decoration:none;color:rgb(var(--color-blue-default));background-color:rgb(var(--color-blue-default), 0.06)}a:hover{background-color:rgb(var(--color-blue-default), 0.16)}a:before,span:before{content:"@";opacity:0.7}'}},[257,"limebb-mention",{limetype:[1],objectid:[2],limeobject:[32]}]),c=a,l=function(){"undefined"!=typeof customElements&&["limebb-mention"].forEach((e=>{"limebb-mention"===e&&(customElements.get(i(e))||customElements.define(i(e),a))}))};export{c as LimebbMention,l as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as i,createEvent as t,h as o,transformTag as r}from"@stencil/core/internal/client";import{b as n}from"./index.esm.js";import{d as a}from"./notification-item.js";function s(e){for(const i of e.items)e.processedItems.push({type:"notification",item:i});return e}function l(e){const i=[];let t=e.newItemIndicatorInserted;for(const o of e.processedItems)"notification"===o.type&&e.lastVisitedTimestamp&&!t&&new Date(o.item.timestamp)<=e.lastVisitedTimestamp&&e.hasUnseenNotifications&&(i.push({type:"newItemIndicator"}),t=!0),i.push(o);return e.processedItems=i,e.newItemIndicatorInserted=t,e}function c(e){const i=[];let t=null,o=null;for(const r of e.processedItems)if("notification"===r.type){const n=e.dateTimeFormatter.format(new Date(r.item.timestamp),"date");n!==o&&(t&&i.push(t),t={type:"group",groupType:"dateGroup",heading:n,items:[]},o=n),t&&t.items.push(r)}else"newItemIndicator"===r.type&&(t?t.items.push(r):i.push(r));return t&&i.push(t),Object.assign(Object.assign({},e),{processedItems:i})}const m=e(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.itemClick=t(this,"itemClick",7),this.items=[],this.processedItems=[],this.handleItemClick=e=>{this.itemClick.emit(e.detail)}}handleItemsChange(){let e=null;this.lastVisitedTimestamp&&(e=function(e){return new Date("string"==typeof e?Date.parse(e):e)}(this.lastVisitedTimestamp)),this.processedItems=function(e,i,t){return function(e){return[s,l,c].reduce(((e,i)=>i(e)),e)}({items:e,processedItems:[],lastVisitedTimestamp:t,dateTimeFormatter:i,newItemIndicatorInserted:!1,lastProcessedDate:null,hasUnseenNotifications:e.some((e=>t&&new Date(e.timestamp)>t))}).processedItems}(this.items,this.dateTimeFormatter,e)}componentWillLoad(){this.handleItemsChange()}render(){return[this.renderSpinner(),this.renderNotificationItems()]}renderSpinner(){if(this.loading)return o("limel-spinner",{size:"small"})}renderNotificationItems(){return this.processedItems.map((e=>{switch(e.type){case"group":return this.renderGroup(e);case"newItemIndicator":return this.renderIndicator();default:return null}}))}renderGroup(e){return o("section",{class:"date-group"},o("a",{class:"date-heading"},e.heading),e.items.map((e=>"notification"===e.type?this.renderNotificationItem(e.item):"newItemIndicator"===e.type?this.renderIndicator():void 0)))}renderNotificationItem(e){return o("limebb-notification-item",{platform:this.platform,context:this.context,item:e,key:e.id,onInteract:this.handleItemClick})}renderIndicator(){return o("div",{class:"new-items-indicator"},o("hr",null),o("h3",null,this.translator.get("webclient.new")))}get dateTimeFormatter(){return this.platform.get(n.DateTimeFormatter)}get translator(){return this.platform.get(n.Translate)}static get watchers(){return{items:[{handleItemsChange:0}]}}static get style(){return'@charset "UTF-8";:host(limebb-notification-list){--limebb-notification-list-background-color:var( --notification-list-background-color, rgb(var(--contrast-300)) );display:flex;flex-direction:column;gap:1rem;max-width:45rem;background-color:var(--limebb-notification-list-background-color);padding:0.5rem}limebb-notification-item:focus{outline:none}limebb-notification-item:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}limebb-notification-item:not(.is-read){--limebb-notification-item-unread-badge-color:rgb( var(--color-red-default) );--limebb-notification-item-unread-badge-scale:1;background-color:rgb(var(--contrast-100)) !important}limebb-notification-item.is-clickable{transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--limel-theme-on-surface-color);background-color:transparent}limebb-notification-item.is-clickable:hover,limebb-notification-item.is-clickable:focus,limebb-notification-item.is-clickable:focus-visible{will-change:color, background-color, box-shadow, transform}limebb-notification-item.is-clickable:hover,limebb-notification-item.is-clickable:focus-visible{transform:translate3d(0, 0.01rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color)}limebb-notification-item.is-clickable:hover{box-shadow:var(--button-shadow-hovered)}limebb-notification-item.is-clickable:active{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}limebb-notification-item.is-clickable:hover,limebb-notification-item.is-clickable:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}limebb-notification-item.is-clickable:hover{border-color:transparent}limebb-notification-item.is-read{border-color:rgb(var(--contrast-600));background-color:rgb(var(--contrast-500))}limebb-notification-item.is-selected{box-shadow:var(--shadow-focused-state)}limebb-notification-item.is-selected:hover{box-shadow:var(--shadow-focused-state), var(--button-shadow-hovered)}limel-spinner{align-self:center;justify-self:center;margin:auto}.date-group{isolation:isolate;display:flex;flex-direction:column;gap:0.5rem}.date-heading{position:sticky;z-index:1;top:0.25rem;display:flex;border-radius:9rem;padding:0.25rem 0.5rem;margin:0;width:fit-content;font-size:0.75rem;line-height:1;color:rgb(var(--contrast-900));backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem);transition:color 0.2s ease, border-color 0.4s ease}.date-heading:hover{color:rgb(var(--contrast-1000));border-color:rgb(var(--contrast-500))}.date-heading:hover:before{opacity:1}.date-heading:before{transition:opacity 0.2s ease;content:"";position:absolute;z-index:-1;inset:0;opacity:0.6;border-radius:inherit;background-color:var(--limebb-notification-list-background-color)}.new-items-indicator{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:flex-end;margin:0.25rem 0}.new-items-indicator hr{border:none;position:absolute;width:100%;height:1px;background-color:rgb(var(--color-red-lighter))}.new-items-indicator h3{z-index:1;padding:0 0.5rem;border-radius:1rem;margin:0 1rem;font-size:small;line-height:0.75rem;text-transform:lowercase;color:rgb(var(--color-red-default));background-color:var(--limebb-notification-list-background-color)}'}},[1,"limebb-notification-list",{platform:[16],context:[16],items:[16],loading:[4],lastVisitedTimestamp:[1,"last-visited-timestamp"]},void 0,{items:[{handleItemsChange:0}]}]),b=m,d=function(){"undefined"!=typeof customElements&&["limebb-notification-list","limebb-notification-item"].forEach((e=>{switch(e){case"limebb-notification-list":customElements.get(r(e))||customElements.define(r(e),m);break;case"limebb-notification-item":customElements.get(r(e))||a()}}))};export{b as LimebbNotificationList,d as defineCustomElement}
1
+ import{proxyCustomElement as e,HTMLElement as i,createEvent as t,h as o,transformTag as r}from"@stencil/core/internal/client";import{n}from"./index.esm.js";import{d as a}from"./notification-item.js";function s(e){for(const i of e.items)e.processedItems.push({type:"notification",item:i});return e}function l(e){const i=[];let t=e.newItemIndicatorInserted;for(const o of e.processedItems)"notification"===o.type&&e.lastVisitedTimestamp&&!t&&new Date(o.item.timestamp)<=e.lastVisitedTimestamp&&e.hasUnseenNotifications&&(i.push({type:"newItemIndicator"}),t=!0),i.push(o);return e.processedItems=i,e.newItemIndicatorInserted=t,e}function c(e){const i=[];let t=null,o=null;for(const r of e.processedItems)if("notification"===r.type){const n=e.dateTimeFormatter.format(new Date(r.item.timestamp),"date");n!==o&&(t&&i.push(t),t={type:"group",groupType:"dateGroup",heading:n,items:[]},o=n),t&&t.items.push(r)}else"newItemIndicator"===r.type&&(t?t.items.push(r):i.push(r));return t&&i.push(t),Object.assign(Object.assign({},e),{processedItems:i})}const m=e(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.itemClick=t(this,"itemClick",7),this.items=[],this.processedItems=[],this.handleItemClick=e=>{this.itemClick.emit(e.detail)}}handleItemsChange(){let e=null;this.lastVisitedTimestamp&&(e=function(e){return new Date("string"==typeof e?Date.parse(e):e)}(this.lastVisitedTimestamp)),this.processedItems=function(e,i,t){return function(e){return[s,l,c].reduce(((e,i)=>i(e)),e)}({items:e,processedItems:[],lastVisitedTimestamp:t,dateTimeFormatter:i,newItemIndicatorInserted:!1,lastProcessedDate:null,hasUnseenNotifications:e.some((e=>t&&new Date(e.timestamp)>t))}).processedItems}(this.items,this.dateTimeFormatter,e)}componentWillLoad(){this.handleItemsChange()}render(){return[this.renderSpinner(),this.renderNotificationItems()]}renderSpinner(){if(this.loading)return o("limel-spinner",{size:"small"})}renderNotificationItems(){return this.processedItems.map((e=>{switch(e.type){case"group":return this.renderGroup(e);case"newItemIndicator":return this.renderIndicator();default:return null}}))}renderGroup(e){return o("section",{class:"date-group"},o("a",{class:"date-heading"},e.heading),e.items.map((e=>"notification"===e.type?this.renderNotificationItem(e.item):"newItemIndicator"===e.type?this.renderIndicator():void 0)))}renderNotificationItem(e){return o("limebb-notification-item",{platform:this.platform,context:this.context,item:e,key:e.id,onInteract:this.handleItemClick})}renderIndicator(){return o("div",{class:"new-items-indicator"},o("hr",null),o("h3",null,this.translator.get("webclient.new")))}get dateTimeFormatter(){return this.platform.get(n.DateTimeFormatter)}get translator(){return this.platform.get(n.Translate)}static get watchers(){return{items:[{handleItemsChange:0}]}}static get style(){return'@charset "UTF-8";:host(limebb-notification-list){--limebb-notification-list-background-color:var( --notification-list-background-color, rgb(var(--contrast-300)) );display:flex;flex-direction:column;gap:1rem;max-width:45rem;background-color:var(--limebb-notification-list-background-color);padding:0.5rem}limebb-notification-item:focus{outline:none}limebb-notification-item:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}limebb-notification-item:not(.is-read){--limebb-notification-item-unread-badge-color:rgb( var(--color-red-default) );--limebb-notification-item-unread-badge-scale:1;background-color:rgb(var(--contrast-100)) !important}limebb-notification-item.is-clickable{transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--limel-theme-on-surface-color);background-color:transparent}limebb-notification-item.is-clickable:hover,limebb-notification-item.is-clickable:focus,limebb-notification-item.is-clickable:focus-visible{will-change:color, background-color, box-shadow, transform}limebb-notification-item.is-clickable:hover,limebb-notification-item.is-clickable:focus-visible{transform:translate3d(0, 0.01rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color)}limebb-notification-item.is-clickable:hover{box-shadow:var(--button-shadow-hovered)}limebb-notification-item.is-clickable:active{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}limebb-notification-item.is-clickable:hover,limebb-notification-item.is-clickable:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}limebb-notification-item.is-clickable:hover{border-color:transparent}limebb-notification-item.is-read{border-color:rgb(var(--contrast-600));background-color:rgb(var(--contrast-500))}limebb-notification-item.is-selected{box-shadow:var(--shadow-focused-state)}limebb-notification-item.is-selected:hover{box-shadow:var(--shadow-focused-state), var(--button-shadow-hovered)}limel-spinner{align-self:center;justify-self:center;margin:auto}.date-group{isolation:isolate;display:flex;flex-direction:column;gap:0.5rem}.date-heading{position:sticky;z-index:1;top:0.25rem;display:flex;border-radius:9rem;padding:0.25rem 0.5rem;margin:0;width:fit-content;font-size:0.75rem;line-height:1;color:rgb(var(--contrast-900));backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem);transition:color 0.2s ease, border-color 0.4s ease}.date-heading:hover{color:rgb(var(--contrast-1000));border-color:rgb(var(--contrast-500))}.date-heading:hover:before{opacity:1}.date-heading:before{transition:opacity 0.2s ease;content:"";position:absolute;z-index:-1;inset:0;opacity:0.6;border-radius:inherit;background-color:var(--limebb-notification-list-background-color)}.new-items-indicator{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:flex-end;margin:0.25rem 0}.new-items-indicator hr{border:none;position:absolute;width:100%;height:1px;background-color:rgb(var(--color-red-lighter))}.new-items-indicator h3{z-index:1;padding:0 0.5rem;border-radius:1rem;margin:0 1rem;font-size:small;line-height:0.75rem;text-transform:lowercase;color:rgb(var(--color-red-default));background-color:var(--limebb-notification-list-background-color)}'}},[1,"limebb-notification-list",{platform:[16],context:[16],items:[16],loading:[4],lastVisitedTimestamp:[1,"last-visited-timestamp"]},void 0,{items:[{handleItemsChange:0}]}]),d=m,b=function(){"undefined"!=typeof customElements&&["limebb-notification-list","limebb-notification-item"].forEach((e=>{switch(e){case"limebb-notification-list":customElements.get(r(e))||customElements.define(r(e),m);break;case"limebb-notification-item":customElements.get(r(e))||a()}}))};export{d as LimebbNotificationList,b as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as t,HTMLElement as i,getElement as e,h as s,transformTag as h}from"@stencil/core/internal/client";import{g as o}from"./limetype.js";import{f as a}from"./dom.js";import{M as l,b as r}from"./index.esm.js";const n=l("object-resolver");function c(t,i){return`object/${t}/${i}`}class d{constructor(t){this.onStateChange=t,this.state={loadFailed:!1},this.hasPendingLoad=!1,this.isDisconnected=!1}get resolvedPlatform(){return this._platform}connect(t,i,e,s){this.limetype=t,this.objectid=i,this.isDisconnected=!1,this.hasPendingLoad=!1,this._platform=s||this.findPlatform(e),this._platform?(this.resolveLimeType(),this.loadLimeObject()):n.error(`No platform found. Pass "platform" prop or place the component inside a parent that exposes "platform". limetype=${t}, objectid=${i}`)}update(t,i){this.limetype=t,this.objectid=i,this.updateState({limeobject:void 0,limetypeData:void 0,loadFailed:!1}),this.hasPendingLoad||(this.hasPendingLoad=!0,queueMicrotask((()=>{if(this.hasPendingLoad=!1,!this.isDisconnected){if(!this._platform)return this.updateState({loadFailed:!0}),void n.warn(`Cannot update: no platform available. limetype=${this.limetype}, objectid=${this.objectid}`);this.resolveLimeType(),this.loadLimeObject()}})))}disconnect(){this.isDisconnected=!0}findPlatform(t){const i=a(t,this.hasPlatformProp);return null==i?void 0:i.platform}hasPlatformProp(t){return"platform"in t&&!!t.platform&&"object"==typeof t.platform}resolveLimeType(){const t=this._platform.get(r.LimeTypeRepository);this.updateState({limetypeData:t.getLimeType(this.limetype)})}async loadLimeObject(){const t=this.limetype,i=this.objectid,e=this._platform.get(r.LimeObjectRepository),s=e.getObject(t,i);if(s)this.updateState({limeobject:s});else{try{await e.loadObject(t,i)}catch(e){if(this.isStale(t,i))return;return this.updateState({loadFailed:!0}),void n.error(`Failed to load ${t}/${i}`,e)}this.isStale(t,i)||this.updateState({limeobject:e.getObject(t,i)})}}isStale(t,i){return this.isDisconnected||this.limetype!==t||this.objectid!==i}updateState(t){this.state=Object.assign(Object.assign({},this.state),t),this.isDisconnected||this.onStateChange(this.state)}}const m=t(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.size="default",this.data={loadFailed:!1},this.resolver=new d((t=>{this.data=t}))}connectedCallback(){this.resolver.connect(this.limetype,this.objectid,e(this),this.platform)}disconnectedCallback(){this.resolver.disconnect()}handlePropChange(){this.resolver.update(this.limetype,this.objectid)}render(){if(!this.resolver.resolvedPlatform)return;const t=o(this.data.limetypeData);return s("limel-chip",{text:this.getChipText(),icon:t,size:this.size,link:{href:c(this.limetype,this.objectid)},loading:!this.data.limeobject&&!this.data.loadFailed})}getChipText(){var t;return(null===(t=this.data.limeobject)||void 0===t?void 0:t.descriptive)?this.data.limeobject.descriptive:this.data.loadFailed?this.getErrorText():""}getErrorText(){if(!this.resolver.resolvedPlatform)return"loading failed";try{return this.resolver.resolvedPlatform.get(r.Translate).get("webclient.limeobject.errors.load-failed")}catch(t){return"loading failed"}}static get watchers(){return{limetype:[{handlePropChange:0}],objectid:[{handlePropChange:0}]}}static get style(){return":host{display:inline-block;vertical-align:baseline}"}},[1,"limebb-object-chip",{limetype:[1],objectid:[2],size:[1],platform:[16],data:[32]},void 0,{limetype:[{handlePropChange:0}],objectid:[{handlePropChange:0}]}]),p=m,u=function(){"undefined"!=typeof customElements&&["limebb-object-chip"].forEach((t=>{"limebb-object-chip"===t&&(customElements.get(h(t))||customElements.define(h(t),m))}))};export{p as LimebbObjectChip,u as defineCustomElement}
1
+ import{proxyCustomElement as t,HTMLElement as i,getElement as e,h as s,transformTag as h}from"@stencil/core/internal/client";import{g as o}from"./limetype.js";import{f as a}from"./dom.js";import{b as l,n as r}from"./index.esm.js";const n=l("object-resolver");function c(t,i){return`object/${t}/${i}`}class d{constructor(t){this.onStateChange=t,this.state={loadFailed:!1},this.hasPendingLoad=!1,this.isDisconnected=!1}get resolvedPlatform(){return this._platform}connect(t,i,e,s){this.limetype=t,this.objectid=i,this.isDisconnected=!1,this.hasPendingLoad=!1,this._platform=s||this.findPlatform(e),this._platform?(this.resolveLimeType(),this.loadLimeObject()):n.error(`No platform found. Pass "platform" prop or place the component inside a parent that exposes "platform". limetype=${t}, objectid=${i}`)}update(t,i){this.limetype=t,this.objectid=i,this.updateState({limeobject:void 0,limetypeData:void 0,loadFailed:!1}),this.hasPendingLoad||(this.hasPendingLoad=!0,queueMicrotask((()=>{if(this.hasPendingLoad=!1,!this.isDisconnected){if(!this._platform)return this.updateState({loadFailed:!0}),void n.warn(`Cannot update: no platform available. limetype=${this.limetype}, objectid=${this.objectid}`);this.resolveLimeType(),this.loadLimeObject()}})))}disconnect(){this.isDisconnected=!0}findPlatform(t){const i=a(t,this.hasPlatformProp);return null==i?void 0:i.platform}hasPlatformProp(t){return"platform"in t&&!!t.platform&&"object"==typeof t.platform}resolveLimeType(){const t=this._platform.get(r.LimeTypeRepository);this.updateState({limetypeData:t.getLimeType(this.limetype)})}async loadLimeObject(){const t=this.limetype,i=this.objectid,e=this._platform.get(r.LimeObjectRepository),s=e.getObject(t,i);if(s)this.updateState({limeobject:s});else{try{await e.loadObject(t,i)}catch(e){if(this.isStale(t,i))return;return this.updateState({loadFailed:!0}),void n.error(`Failed to load ${t}/${i}`,e)}this.isStale(t,i)||this.updateState({limeobject:e.getObject(t,i)})}}isStale(t,i){return this.isDisconnected||this.limetype!==t||this.objectid!==i}updateState(t){this.state=Object.assign(Object.assign({},this.state),t),this.isDisconnected||this.onStateChange(this.state)}}const m=t(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.size="default",this.data={loadFailed:!1},this.resolver=new d((t=>{this.data=t}))}connectedCallback(){this.resolver.connect(this.limetype,this.objectid,e(this),this.platform)}disconnectedCallback(){this.resolver.disconnect()}handlePropChange(){this.resolver.update(this.limetype,this.objectid)}render(){if(!this.resolver.resolvedPlatform)return;const t=o(this.data.limetypeData);return s("limel-chip",{text:this.getChipText(),icon:t,size:this.size,link:{href:c(this.limetype,this.objectid)},loading:!this.data.limeobject&&!this.data.loadFailed})}getChipText(){var t;return(null===(t=this.data.limeobject)||void 0===t?void 0:t.descriptive)?this.data.limeobject.descriptive:this.data.loadFailed?this.getErrorText():""}getErrorText(){if(!this.resolver.resolvedPlatform)return"loading failed";try{return this.resolver.resolvedPlatform.get(r.Translate).get("webclient.limeobject.errors.load-failed")}catch(t){return"loading failed"}}static get watchers(){return{limetype:[{handlePropChange:0}],objectid:[{handlePropChange:0}]}}static get style(){return":host{display:inline-block;vertical-align:baseline}"}},[1,"limebb-object-chip",{limetype:[1],objectid:[2],size:[1],platform:[16],data:[32]},void 0,{limetype:[{handlePropChange:0}],objectid:[{handlePropChange:0}]}]),p=m,u=function(){"undefined"!=typeof customElements&&["limebb-object-chip"].forEach((t=>{"limebb-object-chip"===t&&(customElements.get(h(t))||customElements.define(h(t),m))}))};export{p as LimebbObjectChip,u as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as t,createEvent as i,h as r,transformTag as l}from"@stencil/core/internal/client";import{O as s}from"./index.esm.js";import{d as o}from"./filter-chip.js";import{d as m}from"./lime-query-filter-builder.js";import{d as n}from"./lime-query-filter-comparison.js";import{d as b}from"./lime-query-filter-comparison-editor.js";import{e as c,b as u,d as a}from"./lime-query-filter-expression.js";import{d as f}from"./lime-query-value-input.js";import{d as p}from"./property-selector.js";const y=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.change=i(this,"change",7),this.value={},this.handleExpressionChange=e=>{e.stopPropagation(),this.change.emit({expression:e.detail})}}render(){var e,t;const i=null===(e=this.resolvedContext)||void 0===e?void 0:e.limetype;return i?r("limebb-lime-query-filter-builder",{platform:this.platform,context:this.context,limetype:i,expression:null===(t=this.value)||void 0===t?void 0:t.expression,onExpressionChange:this.handleExpressionChange}):r("limel-callout",{type:"note"},"Select a limetype on the surface to author a filter.")}static get style(){return":host{display:block}"}},[1,"limebb-rule-arg-filter-editor",{platform:[16],context:[16],value:[16],resolvedContext:[32]}]);!function(e,t,i,r){var l,s=arguments.length,o=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,r);else for(var m=e.length-1;m>=0;m--)(l=e[m])&&(o=(s<3?l(o):s>3?l(t,i,o):l(t,i))||o);s>3&&o&&Object.defineProperty(t,i,o)}([s("context")],y.prototype,"resolvedContext",void 0);const d=y,h=function(){"undefined"!=typeof customElements&&["limebb-rule-arg-filter-editor","limebb-filter-chip","limebb-lime-query-filter-builder","limebb-lime-query-filter-comparison","limebb-lime-query-filter-comparison-editor","limebb-lime-query-filter-expression","limebb-lime-query-filter-group","limebb-lime-query-filter-not","limebb-lime-query-value-input","limebb-property-selector"].forEach((e=>{switch(e){case"limebb-rule-arg-filter-editor":customElements.get(l(e))||customElements.define(l(e),y);break;case"limebb-filter-chip":customElements.get(l(e))||o();break;case"limebb-lime-query-filter-builder":customElements.get(l(e))||m();break;case"limebb-lime-query-filter-comparison":customElements.get(l(e))||n();break;case"limebb-lime-query-filter-comparison-editor":customElements.get(l(e))||b();break;case"limebb-lime-query-filter-expression":customElements.get(l(e))||a();break;case"limebb-lime-query-filter-group":customElements.get(l(e))||u();break;case"limebb-lime-query-filter-not":customElements.get(l(e))||c();break;case"limebb-lime-query-value-input":customElements.get(l(e))||f();break;case"limebb-property-selector":customElements.get(l(e))||p()}}))};export{d as LimebbRuleArgFilterEditor,h as defineCustomElement}
1
+ import{proxyCustomElement as e,HTMLElement as i,createEvent as t,h as r,transformTag as l}from"@stencil/core/internal/client";import{M as o}from"./index.esm.js";import{d as s}from"./filter-chip.js";import{d as m}from"./filter-condition-picker.js";import{d as c}from"./lime-query-filter-builder.js";import{d as n}from"./lime-query-filter-comparison.js";import{d as b}from"./lime-query-filter-comparison-editor.js";import{e as u,b as a,d as f}from"./lime-query-filter-expression.js";import{d as p}from"./lime-query-value-input.js";import{d}from"./property-selector.js";const y=e(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.change=t(this,"change",7),this.value={},this.handleExpressionChange=e=>{e.stopPropagation(),this.change.emit({expression:e.detail})}}render(){var e,i;const t=null===(e=this.resolvedContext)||void 0===e?void 0:e.limetype;return t?r("limebb-lime-query-filter-builder",{platform:this.platform,context:this.context,limetype:t,expression:null===(i=this.value)||void 0===i?void 0:i.expression,onExpressionChange:this.handleExpressionChange}):r("limel-callout",{type:"note"},"Select a limetype on the surface to author a filter.")}static get style(){return":host{display:block}"}},[1,"limebb-rule-arg-filter-editor",{platform:[16],context:[16],value:[16],resolvedContext:[32]}]);!function(e,i,t,r){var l,o=arguments.length,s=o<3?i:null===r?r=Object.getOwnPropertyDescriptor(i,t):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,i,t,r);else for(var m=e.length-1;m>=0;m--)(l=e[m])&&(s=(o<3?l(s):o>3?l(i,t,s):l(i,t))||s);o>3&&s&&Object.defineProperty(i,t,s)}([o("context")],y.prototype,"resolvedContext",void 0);const h=y,q=function(){"undefined"!=typeof customElements&&["limebb-rule-arg-filter-editor","limebb-filter-chip","limebb-filter-condition-picker","limebb-lime-query-filter-builder","limebb-lime-query-filter-comparison","limebb-lime-query-filter-comparison-editor","limebb-lime-query-filter-expression","limebb-lime-query-filter-group","limebb-lime-query-filter-not","limebb-lime-query-value-input","limebb-property-selector"].forEach((e=>{switch(e){case"limebb-rule-arg-filter-editor":customElements.get(l(e))||customElements.define(l(e),y);break;case"limebb-filter-chip":customElements.get(l(e))||s();break;case"limebb-filter-condition-picker":customElements.get(l(e))||m();break;case"limebb-lime-query-filter-builder":customElements.get(l(e))||c();break;case"limebb-lime-query-filter-comparison":customElements.get(l(e))||n();break;case"limebb-lime-query-filter-comparison-editor":customElements.get(l(e))||b();break;case"limebb-lime-query-filter-expression":customElements.get(l(e))||f();break;case"limebb-lime-query-filter-group":customElements.get(l(e))||a();break;case"limebb-lime-query-filter-not":customElements.get(l(e))||u();break;case"limebb-lime-query-value-input":customElements.get(l(e))||p();break;case"limebb-property-selector":customElements.get(l(e))||d()}}))};export{h as LimebbRuleArgFilterEditor,q as defineCustomElement}
@@ -1 +1 @@
1
- import{h as e,proxyCustomElement as t,HTMLElement as n,createEvent as r,transformTag as i}from"@stencil/core/internal/client";import{O as l,b as o}from"./index.esm.js";import{d as s}from"./rule-chip-popover.js";function u(e,t){return t?{type:"not",rule:e}:e}function a(e,t){return e.length===t.length&&e.every(((e,n)=>e===t[n]))}function c(e,t){return e.filter((e=>a(e.path,t)))}function d(e,t){let n=e;for(const e of t){if(void 0===n)return;n=f(n,e)}return n}function h(e,t,n){if(0===t.length)return n;const[r,...i]=t;if("not"===e.type&&"rule"===r)return Object.assign(Object.assign({},e),{rule:h(e.rule,i,n)});if(("all"===e.type||"any"===e.type)&&"rules"===r){if(0===i.length)return n;const[t,...r]=i;if("number"!=typeof t)return e;const l=[...e.rules];return l[t]=h(l[t],r,n),Object.assign(Object.assign({},e),{rules:l})}return e}function f(e,t){return"not"===e.type&&"rule"===t?e.rule:"all"!==e.type&&"any"!==e.type||"rules"!==t?"all"!==e.type&&"any"!==e.type||"number"!=typeof t?e:e.rules[t]:e}const p={name:"question",color:"rgb(var(--color-glaucous-light))"};function b(e,t){return{"rule-node":!0,["rule-node--"+e]:!0,"rule-node--invalid":t.length>0}}function v(e,t){return[...e.values()].map((e=>({value:e.id,text:e.title?t.get(e.title):e.id,secondaryText:e.description?t.get(e.description):"",icon:e.icon}))).sort(((e,t)=>e.text.localeCompare(t.text)))}function m(e,t){return e.reads.every((e=>t.has(e)))}function g(e){return"__chip__:"+e}function y(e,t){return[...e,"rules",t]}function _(e){return"ref"===e.type?{ref:e,isNegated:!1}:"not"===e.type&&"ref"===e.rule.type?{ref:e.rule,isNegated:!0}:null}const x=({groupNode:t,groupPath:n,chipChildren:r,ctx:i})=>{const l=new Map,o=r.map((e=>{const t=g(e.index);l.set(t,e);const n=function(e,t){var n;return null!==(n=e.find((e=>e.value===t)))&&void 0!==n?n:{value:t,text:t,icon:p}}(i.allPrimitiveOptions,e.ref.id);return Object.assign(Object.assign({},n),{text:e.isNegated?"¬ "+n.text:n.text,value:t})})),s=function(e){return t=>Promise.resolve(function(e,t){if(!t)return e;const n=t.toLocaleLowerCase().split(/\s+/);return e.filter((e=>n.every((t=>{var n,r;return e.text.toLocaleLowerCase().includes(t)||(null===(n=e.secondaryText)||void 0===n?void 0:n.toLocaleLowerCase().includes(t))||(null===(r=e.value)||void 0===r?void 0:r.toLocaleLowerCase().includes(t))}))))}(e,t))}(i.availablePrimitiveOptions),u=function(e,t,n){var r;const i=N(t,n);return null===i?null:null!==(r=e.find((e=>e.index===i)))&&void 0!==r?r:null}(r,n,i.openChipPath),a="all"===t.type?"&":"|";return e("limel-popover",{class:"rule-node__chips-popover",open:null!==u,openDirection:"bottom-start",onClose:i.onPopoverClose},e("div",{slot:"trigger",class:"rule-node__chips"},e("limel-picker",{multiple:!0,label:i.translator.get("webclient.rule-editor.rules-label"),value:o,searcher:s,delimiter:a,readonly:i.readonly,disabled:i.disabled,onChange:C(t,n,l,i),onInteract:O(n,l,i)})),e("div",null,function(t,n,r){if(!t)return null;const i=y(n,t.index);return e("limebb-rule-chip-popover",{platform:r.platform,context:r.context,refNode:t.ref,isNegated:t.isNegated,metadata:r.metadataById.get(t.ref.id),readonly:r.readonly,disabled:r.disabled,isMutable:r.isMutable,focusOnOpen:r.focusOnOpen,onNegate:j(t,i,r),onUpdateArgs:w(t,i,r),onDeleteChip:k(i,r)})}(u,n,i)))},C=(e,t,n,r)=>i=>{i.stopPropagation();const l=Array.isArray(i.detail)?i.detail:[],o=N(t,r.openChipPath);if(null!==o){const e=g(o);l.every((t=>t.value!==e))&&r.onPopoverClose()}const s=l.flatMap((e=>{if("string"!=typeof e.value)return[];const t=n.get(e.value);return t?[t.isNegated?{type:"not",rule:t.ref}:t.ref]:[{type:"ref",id:e.value}]})),u=e.rules.filter((e=>null===_(e)));r.onReplaceNode(t,Object.assign(Object.assign({},e),{rules:[...s,...u]}))},O=(e,t,n)=>r=>{r.stopPropagation();const i=function(e){if("string"==typeof e)return e;if(e&&"object"==typeof e&&"value"in e){const t=e.value;return"string"==typeof t?t:void 0}}(r.detail),l=i?t.get(i):void 0;l&&n.onChipInteract([...e,"rules",l.index])},j=(e,t,n)=>r=>{r.stopPropagation(),n.onReplaceNode(t,r.detail?{type:"not",rule:e.ref}:e.ref)},w=(e,t,n)=>r=>{r.stopPropagation();const i=e.isNegated?[...t,"rule"]:t;n.onUpdateArgs(i,r.detail)},k=(e,t)=>()=>{t.onDelete(e)};function N(e,t){if(!t||t.length<2)return null;if(!a(function(e){return e.slice(0,-2)}(t),e))return null;const n=t.at(-1);return"number"==typeof n?n:null}const P=({node:t,path:n,isNegated:r,ctx:i})=>{const l=r?[...n,"rule"]:n,o=r?[...c(i.issues,n),...c(i.issues,l)]:c(i.issues,n),s=[],u=[];for(const[e,n]of t.rules.entries()){const t=_(n);t?s.push(Object.assign(Object.assign({},t),{index:e})):u.push({child:n,index:e})}const a=function(e){return[{value:"all",text:e.translator.get("webclient.rule-editor.combinator.all")},{value:"any",text:e.translator.get("webclient.rule-editor.combinator.any")}]}(i),d=a.find((e=>e.value===t.type));return e("div",{class:b(t.type,o),key:R(n)},e("div",{class:"rule-node__header"},e("limel-select",{class:"rule-node__combinator-select",value:d,options:a,disabled:!i.isMutable,onChange:A(t,n,r,i)}),function(t,n,r,i){return i.isMutable?e("div",{class:"rule-node__header-actions"},e("limel-switch",{class:"rule-node__negate-switch",label:i.translator.get("webclient.rule-editor.negate"),value:r,onChange:V(t,n,i)}),e("limel-icon-button",{icon:"trash",label:i.translator.get("webclient.rule-editor.delete"),onClick:()=>i.onDelete(n)})):null}(t,n,r,i)),e("div",{class:"rule-node__body"},e(S,{issues:o}),e(x,{groupNode:t,groupPath:l,chipChildren:s,ctx:i}),function(t,n,r){return 0===t.length?null:e("div",{class:"rule-node__children"},t.map((t=>e(D,{node:t.child,path:[...n,"rules",t.index],ctx:r}))))}(u,l,i),function(t,n,r,i){return i.isMutable?e("div",{class:"rule-node__footer"},e("limel-button",{icon:"add",label:i.translator.get("webclient.rule-editor.add-nested-group"),onClick:z(t,n,r,i)})):null}(t,n,r,i)))};function R(e){return 0===e.length?"root":e.join("/")}function M(e,t,n,r){r.onReplaceNode(t,u(e,n))}const A=(e,t,n,r)=>i=>{i.stopPropagation();const l=i.detail.value;l!==e.type&&M(Object.assign(Object.assign({},e),{type:l}),t,n,r)},z=(e,t,n,r)=>()=>{M(function(e){return Object.assign(Object.assign({},e),{rules:[...e.rules,{type:"all",rules:[]}]})}(e),t,n,r)},V=(e,t,n)=>r=>{r.stopPropagation(),n.onReplaceNode(t,u(e,r.detail))},D=t=>{const{node:n,path:r,ctx:i}=t,l=I(n);return l?e(P,{node:l.node,path:r,isNegated:l.isNegated,ctx:i}):null},E=e=>"not"===e.type&&("all"===e.rule.type||"any"===e.rule.type);function I(e){if("all"===e.type||"any"===e.type)return{node:e,isNegated:!1};if(E(e))return{node:e.rule,isNegated:!0};if("not"===e.type){const t=I(e.rule);if(t)return{node:t.node,isNegated:!t.isNegated}}return null}const S=({issues:t})=>0===t.length?null:t.map((t=>e("div",{class:"rule-node__issue"},t.message)));const L=t(class extends n{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.change=r(this,"change",7),this.issues=[],this.openChipPath=null,this.focusOnOpen=!1,this.metadataById=new Map,this.allPrimitiveOptions=[],this.availablePrimitiveOptions=[],this.reachableSlots=new Set,this.normalizedCache=null,this.hasLoaded=!1,this.handleDelete=e=>{this.openChipPath=null,this.focusOnOpen=!1,this.emitIfChanged(function(e,t){if(0===t.length)return{type:"all",rules:[]};const n=t.slice(0,-1),r=t.at(-1),i=d(e,n);if(void 0===i)return e;if(("all"===i.type||"any"===i.type)&&"number"==typeof r){const t=[...i.rules];return t.splice(r,1),h(e,n,Object.assign(Object.assign({},i),{rules:t}))}return"not"===i.type&&"rule"===r?h(e,n,{type:"all",rules:[]}):e}(this.normalizedValue,e))},this.handleUpdateArgs=(e,t)=>{this.emitIfChanged(function(e,t,n){const r=d(e,t);return void 0===r||"ref"!==r.type?e:h(e,t,Object.assign(Object.assign({},r),{args:n}))}(this.normalizedValue,e,t))},this.handleReplaceNode=(e,t)=>{const n=this.autoOpenPathFor(e,t);this.focusOnOpen=null!==n,null!==n&&(this.openChipPath=n),this.emitIfChanged(function(e,t,n){return h(e,t,n)}(this.normalizedValue,e,t))},this.handleChipInteract=e=>{this.openChipPath=e,this.focusOnOpen=!1},this.handlePopoverClose=()=>{this.openChipPath=null,this.focusOnOpen=!1}}componentWillLoad(){this.rebuildFromRegistries()}rebuildFromRegistries(){this.computeReachableSlots(),this.indexMetadata(),this.rebuildAvailableOptions(),this.runValidation()}connectedCallback(){this.hasLoaded&&(this.computeReachableSlots(),this.rebuildAvailableOptions(),this.runValidation())}componentDidLoad(){this.hasLoaded=!0,this.emitNormalization()}onValueChange(){this.emitNormalization()||this.runValidation()}onAvailableContextsChange(){this.rebuildFromRegistries()}render(){return e("div",{key:"983f8e733e177da750191a88e3c176166932f7e0",class:{"rule-editor":!0,"rule-editor--disabled":this.disabled}},this.renderLabel(),e(D,{key:"48be41683418ead2b1f2283615b559cfcabbfa98",node:this.normalizedValue,path:[],ctx:this.createRenderContext()}),this.renderHelperText())}renderLabel(){return this.label?e("div",{class:"rule-editor__label"},this.label):null}renderHelperText(){return this.helperText?e("div",{class:"rule-editor__helper-text"},this.helperText):null}createRenderContext(){return{issues:this.issues,metadataById:this.metadataById,allPrimitiveOptions:this.allPrimitiveOptions,availablePrimitiveOptions:this.availablePrimitiveOptions,isMutable:!this.readonly&&!this.disabled,readonly:this.readonly,disabled:this.disabled,platform:this.platform,context:this.effectiveContext,translator:this.translator,openChipPath:this.openChipPath,focusOnOpen:this.focusOnOpen,onDelete:this.handleDelete,onUpdateArgs:this.handleUpdateArgs,onReplaceNode:this.handleReplaceNode,onChipInteract:this.handleChipInteract,onPopoverClose:this.handlePopoverClose}}autoOpenPathFor(e,t){var n;if("all"!==t.type&&"any"!==t.type)return null;const r=d(this.normalizedValue,e);if(void 0===r||"all"!==r.type&&"any"!==r.type)return null;const i=new Set(r.rules.map((e=>{var t;return null===(t=_(e))||void 0===t?void 0:t.ref})).filter((e=>void 0!==e))),l=t.rules.map(((e,t)=>{var n;const r=null===(n=_(e))||void 0===n?void 0:n.ref;return r&&!i.has(r)?{ref:r,index:t}:null})).filter((e=>null!==e));if(1!==l.length)return null;const[{ref:o,index:s}]=l;return(null===(n=this.metadataById.get(o.id))||void 0===n?void 0:n.configComponent)?y(e,s):null}indexMetadata(){var e,t,n;const r=null!==(n=null===(t=(e=this.ruleRegistry).listMetadata)||void 0===t?void 0:t.call(e))&&void 0!==n?n:[];this.metadataById=new Map(r.map((e=>[e.id,e]))),this.allPrimitiveOptions=v(this.metadataById,this.translator)}rebuildAvailableOptions(){this.availablePrimitiveOptions=v(this.availablePrimitiveMetadata(),this.translator)}availablePrimitiveMetadata(){const e=new Map;for(const[t,n]of this.metadataById)m(n,this.reachableSlots)&&e.set(t,n);return e}computeReachableSlots(){var e;const t=this.contextRegistry,n=t.list().map((e=>e.id)).filter((e=>void 0!==t.get(e,this.host)));this.reachableSlots=new Set([...n,...null!==(e=this.availableContexts)&&void 0!==e?e:[]])}runValidation(){if(!this.value)return void(this.issues=[]);const e=this.ruleRegistry.validate(this.normalizedValue,[...this.reachableSlots]);this.issues=e.ok?[]:e.issues}emitIfChanged(e){e!==this.normalizedValue&&this.change.emit(function(e){return"all"!==e.type&&"any"!==e.type?e:0===e.rules.length?void 0:e}(e))}get normalizedValue(){if(null!==this.normalizedCache&&this.normalizedCache.source===this.value)return this.normalizedCache.normalized;const e=function(e){return e?I(e)?e:{type:"all",rules:[e]}:{type:"all",rules:[]}}(this.value);return this.normalizedCache={source:this.value,normalized:e},e}emitNormalization(){if(!this.value)return!1;const e=this.normalizedValue;return e!==this.value&&(this.change.emit(e),!0)}get ruleRegistry(){return this.platform.get(o.RuleRegistry)}get translator(){return this.platform.get(o.Translate)}get contextRegistry(){return this.platform.get(o.ContextRegistry)}get effectiveContext(){var e,t;return(null===(e=this.context)||void 0===e?void 0:e.limetype)?this.context:(null===(t=this.resolvedContext)||void 0===t?void 0:t.limetype)?this.resolvedContext:T}get host(){return this}static get watchers(){return{value:[{onValueChange:0}],availableContexts:[{onAvailableContextsChange:0}]}}static get style(){return":host{display:block}.rule-editor--disabled{opacity:0.6;pointer-events:none}.rule-editor__label{font-size:0.75rem;font-weight:600;color:rgb(var(--contrast-1500));margin-bottom:0.25rem}.rule-editor__helper-text{font-size:0.75rem;color:rgb(var(--contrast-1300));margin-top:0.25rem}.rule-node{border:1px solid rgb(var(--contrast-500));border-radius:0.5rem;margin:0.25rem 0;overflow:hidden;background-color:rgb(var(--contrast-100))}.rule-node--invalid{border-color:rgb(var(--color-red-default))}.rule-node--all>.rule-node__header,.rule-node--any>.rule-node__header{background-color:rgb(var(--contrast-300));padding:0.375rem 0.75rem;border-bottom:1px solid rgb(var(--contrast-500))}.rule-node__header{display:flex;align-items:center;gap:0.5rem}.rule-node__header-actions{margin-left:auto;display:grid;grid-auto-flow:column;grid-gap:0.5rem;padding:0.125rem;align-items:center}.rule-node__combinator-select{min-width:6rem}.rule-node__body{padding:0.75rem;display:flex;flex-direction:column;gap:0.75rem}limel-popover.rule-node__chips-popover{display:contents;--popover-surface-width:min(calc(100vw - 4rem), 50rem)}.rule-node__chips{display:block;width:100%}.rule-node__chips limel-picker{display:block;width:100%}.rule-node__children{display:flex;flex-direction:column;gap:0.5rem}.rule-node__footer{display:flex;justify-content:center}.rule-node__issue{color:rgb(var(--color-red-default));font-size:0.875rem}"}},[1,"limebb-rule-editor",{platform:[16],context:[16],value:[16],availableContexts:[16],required:[516],readonly:[516],disabled:[516],label:[513],helperText:[1,"helper-text"],resolvedContext:[32],issues:[32],openChipPath:[32],availablePrimitiveOptions:[32]},void 0,{value:[{onValueChange:0}],availableContexts:[{onAvailableContextsChange:0}]}]);!function(e,t,n,r){var i,l=arguments.length,o=l<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(l<3?i(o):l>3?i(t,n,o):i(t,n))||o);l>3&&o&&Object.defineProperty(t,n,o)}([l("context")],L.prototype,"resolvedContext",void 0);const T=Object.freeze({limetype:null,id:null}),q=L,F=function(){"undefined"!=typeof customElements&&["limebb-rule-editor","limebb-rule-chip-popover"].forEach((e=>{switch(e){case"limebb-rule-editor":customElements.get(i(e))||customElements.define(i(e),L);break;case"limebb-rule-chip-popover":customElements.get(i(e))||s()}}))};export{q as LimebbRuleEditor,F as defineCustomElement}
1
+ import{h as e,proxyCustomElement as t,HTMLElement as n,createEvent as r,transformTag as i}from"@stencil/core/internal/client";import{M as l,n as o}from"./index.esm.js";import{d as s}from"./rule-chip-popover.js";function u(e,t){return t?{type:"not",rule:e}:e}function a(e,t){return e.length===t.length&&e.every(((e,n)=>e===t[n]))}function c(e,t){return e.filter((e=>a(e.path,t)))}function d(e,t){let n=e;for(const e of t){if(void 0===n)return;n=f(n,e)}return n}function h(e,t,n){if(0===t.length)return n;const[r,...i]=t;if("not"===e.type&&"rule"===r)return Object.assign(Object.assign({},e),{rule:h(e.rule,i,n)});if(("all"===e.type||"any"===e.type)&&"rules"===r){if(0===i.length)return n;const[t,...r]=i;if("number"!=typeof t)return e;const l=[...e.rules];return l[t]=h(l[t],r,n),Object.assign(Object.assign({},e),{rules:l})}return e}function f(e,t){return"not"===e.type&&"rule"===t?e.rule:"all"!==e.type&&"any"!==e.type||"rules"!==t?"all"!==e.type&&"any"!==e.type||"number"!=typeof t?e:e.rules[t]:e}const p={name:"question",color:"rgb(var(--color-glaucous-light))"};function b(e,t){return{"rule-node":!0,["rule-node--"+e]:!0,"rule-node--invalid":t.length>0}}function v(e,t){return[...e.values()].map((e=>({value:e.id,text:e.title?t.get(e.title):e.id,secondaryText:e.description?t.get(e.description):"",icon:e.icon}))).sort(((e,t)=>e.text.localeCompare(t.text)))}function m(e,t){return e.reads.every((e=>t.has(e)))}function g(e){return"__chip__:"+e}function y(e,t){return[...e,"rules",t]}function _(e){return"ref"===e.type?{ref:e,isNegated:!1}:"not"===e.type&&"ref"===e.rule.type?{ref:e.rule,isNegated:!0}:null}const x=({groupNode:t,groupPath:n,chipChildren:r,ctx:i})=>{const l=new Map,o=r.map((e=>{const t=g(e.index);l.set(t,e);const n=function(e,t){var n;return null!==(n=e.find((e=>e.value===t)))&&void 0!==n?n:{value:t,text:t,icon:p}}(i.allPrimitiveOptions,e.ref.id);return Object.assign(Object.assign({},n),{text:e.isNegated?"¬ "+n.text:n.text,value:t})})),s=function(e){return t=>Promise.resolve(function(e,t){if(!t)return e;const n=t.toLocaleLowerCase().split(/\s+/);return e.filter((e=>n.every((t=>{var n,r;return e.text.toLocaleLowerCase().includes(t)||(null===(n=e.secondaryText)||void 0===n?void 0:n.toLocaleLowerCase().includes(t))||(null===(r=e.value)||void 0===r?void 0:r.toLocaleLowerCase().includes(t))}))))}(e,t))}(i.availablePrimitiveOptions),u=function(e,t,n){var r;const i=N(t,n);return null===i?null:null!==(r=e.find((e=>e.index===i)))&&void 0!==r?r:null}(r,n,i.openChipPath),a="all"===t.type?"&":"|";return e("limel-popover",{class:"rule-node__chips-popover",open:null!==u,openDirection:"bottom-start",onClose:i.onPopoverClose},e("div",{slot:"trigger",class:"rule-node__chips"},e("limel-picker",{multiple:!0,label:i.translator.get("webclient.rule-editor.rules-label"),value:o,searcher:s,delimiter:a,readonly:i.readonly,disabled:i.disabled,onChange:C(t,n,l,i),onInteract:O(n,l,i)})),e("div",null,function(t,n,r){if(!t)return null;const i=y(n,t.index);return e("limebb-rule-chip-popover",{platform:r.platform,context:r.context,refNode:t.ref,isNegated:t.isNegated,metadata:r.metadataById.get(t.ref.id),readonly:r.readonly,disabled:r.disabled,isMutable:r.isMutable,focusOnOpen:r.focusOnOpen,onNegate:j(t,i,r),onUpdateArgs:w(t,i,r),onDeleteChip:k(i,r)})}(u,n,i)))},C=(e,t,n,r)=>i=>{i.stopPropagation();const l=Array.isArray(i.detail)?i.detail:[],o=N(t,r.openChipPath);if(null!==o){const e=g(o);l.every((t=>t.value!==e))&&r.onPopoverClose()}const s=l.flatMap((e=>{if("string"!=typeof e.value)return[];const t=n.get(e.value);return t?[t.isNegated?{type:"not",rule:t.ref}:t.ref]:[{type:"ref",id:e.value}]})),u=e.rules.filter((e=>null===_(e)));r.onReplaceNode(t,Object.assign(Object.assign({},e),{rules:[...s,...u]}))},O=(e,t,n)=>r=>{r.stopPropagation();const i=function(e){if("string"==typeof e)return e;if(e&&"object"==typeof e&&"value"in e){const t=e.value;return"string"==typeof t?t:void 0}}(r.detail),l=i?t.get(i):void 0;l&&n.onChipInteract([...e,"rules",l.index])},j=(e,t,n)=>r=>{r.stopPropagation(),n.onReplaceNode(t,r.detail?{type:"not",rule:e.ref}:e.ref)},w=(e,t,n)=>r=>{r.stopPropagation();const i=e.isNegated?[...t,"rule"]:t;n.onUpdateArgs(i,r.detail)},k=(e,t)=>()=>{t.onDelete(e)};function N(e,t){if(!t||t.length<2)return null;if(!a(function(e){return e.slice(0,-2)}(t),e))return null;const n=t.at(-1);return"number"==typeof n?n:null}const P=({node:t,path:n,isNegated:r,ctx:i})=>{const l=r?[...n,"rule"]:n,o=r?[...c(i.issues,n),...c(i.issues,l)]:c(i.issues,n),s=[],u=[];for(const[e,n]of t.rules.entries()){const t=_(n);t?s.push(Object.assign(Object.assign({},t),{index:e})):u.push({child:n,index:e})}const a=function(e){return[{value:"all",text:e.translator.get("webclient.rule-editor.combinator.all")},{value:"any",text:e.translator.get("webclient.rule-editor.combinator.any")}]}(i),d=a.find((e=>e.value===t.type));return e("div",{class:b(t.type,o),key:M(n)},e("div",{class:"rule-node__header"},e("limel-select",{class:"rule-node__combinator-select",value:d,options:a,disabled:!i.isMutable,onChange:A(t,n,r,i)}),function(t,n,r,i){return i.isMutable?e("div",{class:"rule-node__header-actions"},e("limel-switch",{class:"rule-node__negate-switch",label:i.translator.get("webclient.rule-editor.negate"),value:r,onChange:V(t,n,i)}),e("limel-icon-button",{icon:"trash",label:i.translator.get("webclient.rule-editor.delete"),onClick:()=>i.onDelete(n)})):null}(t,n,r,i)),e("div",{class:"rule-node__body"},e(S,{issues:o}),e(x,{groupNode:t,groupPath:l,chipChildren:s,ctx:i}),function(t,n,r){return 0===t.length?null:e("div",{class:"rule-node__children"},t.map((t=>e(D,{node:t.child,path:[...n,"rules",t.index],ctx:r}))))}(u,l,i),function(t,n,r,i){return i.isMutable?e("div",{class:"rule-node__footer"},e("limel-button",{icon:"add",label:i.translator.get("webclient.rule-editor.add-nested-group"),onClick:z(t,n,r,i)})):null}(t,n,r,i)))};function M(e){return 0===e.length?"root":e.join("/")}function R(e,t,n,r){r.onReplaceNode(t,u(e,n))}const A=(e,t,n,r)=>i=>{i.stopPropagation();const l=i.detail.value;l!==e.type&&R(Object.assign(Object.assign({},e),{type:l}),t,n,r)},z=(e,t,n,r)=>()=>{R(function(e){return Object.assign(Object.assign({},e),{rules:[...e.rules,{type:"all",rules:[]}]})}(e),t,n,r)},V=(e,t,n)=>r=>{r.stopPropagation(),n.onReplaceNode(t,u(e,r.detail))},D=t=>{const{node:n,path:r,ctx:i}=t,l=I(n);return l?e(P,{node:l.node,path:r,isNegated:l.isNegated,ctx:i}):null},E=e=>"not"===e.type&&("all"===e.rule.type||"any"===e.rule.type);function I(e){if("all"===e.type||"any"===e.type)return{node:e,isNegated:!1};if(E(e))return{node:e.rule,isNegated:!0};if("not"===e.type){const t=I(e.rule);if(t)return{node:t.node,isNegated:!t.isNegated}}return null}const S=({issues:t})=>0===t.length?null:t.map((t=>e("div",{class:"rule-node__issue"},t.message)));const L=t(class extends n{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.change=r(this,"change",7),this.issues=[],this.openChipPath=null,this.focusOnOpen=!1,this.metadataById=new Map,this.allPrimitiveOptions=[],this.availablePrimitiveOptions=[],this.reachableSlots=new Set,this.normalizedCache=null,this.hasLoaded=!1,this.handleDelete=e=>{this.openChipPath=null,this.focusOnOpen=!1,this.emitIfChanged(function(e,t){if(0===t.length)return{type:"all",rules:[]};const n=t.slice(0,-1),r=t.at(-1),i=d(e,n);if(void 0===i)return e;if(("all"===i.type||"any"===i.type)&&"number"==typeof r){const t=[...i.rules];return t.splice(r,1),h(e,n,Object.assign(Object.assign({},i),{rules:t}))}return"not"===i.type&&"rule"===r?h(e,n,{type:"all",rules:[]}):e}(this.normalizedValue,e))},this.handleUpdateArgs=(e,t)=>{this.emitIfChanged(function(e,t,n){const r=d(e,t);return void 0===r||"ref"!==r.type?e:h(e,t,Object.assign(Object.assign({},r),{args:n}))}(this.normalizedValue,e,t))},this.handleReplaceNode=(e,t)=>{const n=this.autoOpenPathFor(e,t);this.focusOnOpen=null!==n,null!==n&&(this.openChipPath=n),this.emitIfChanged(function(e,t,n){return h(e,t,n)}(this.normalizedValue,e,t))},this.handleChipInteract=e=>{this.openChipPath=e,this.focusOnOpen=!1},this.handlePopoverClose=()=>{this.openChipPath=null,this.focusOnOpen=!1}}componentWillLoad(){this.rebuildFromRegistries()}rebuildFromRegistries(){this.computeReachableSlots(),this.indexMetadata(),this.rebuildAvailableOptions(),this.runValidation()}connectedCallback(){this.hasLoaded&&(this.computeReachableSlots(),this.rebuildAvailableOptions(),this.runValidation())}componentDidLoad(){this.hasLoaded=!0,this.emitNormalization()}onValueChange(){this.emitNormalization()||this.runValidation()}onAvailableContextsChange(){this.rebuildFromRegistries()}render(){return e("div",{key:"abe9c739c5fbd0749a593187fd36953482530aeb",class:{"rule-editor":!0,"rule-editor--disabled":this.disabled}},this.renderLabel(),e(D,{key:"ba99e8de897dec3825fb74f78d42b3f503ead775",node:this.normalizedValue,path:[],ctx:this.createRenderContext()}),this.renderHelperText())}renderLabel(){return this.label?e("div",{class:"rule-editor__label"},this.label):null}renderHelperText(){return this.helperText?e("div",{class:"rule-editor__helper-text"},this.helperText):null}createRenderContext(){return{issues:this.issues,metadataById:this.metadataById,allPrimitiveOptions:this.allPrimitiveOptions,availablePrimitiveOptions:this.availablePrimitiveOptions,isMutable:!this.readonly&&!this.disabled,readonly:this.readonly,disabled:this.disabled,platform:this.platform,context:this.effectiveContext,translator:this.translator,openChipPath:this.openChipPath,focusOnOpen:this.focusOnOpen,onDelete:this.handleDelete,onUpdateArgs:this.handleUpdateArgs,onReplaceNode:this.handleReplaceNode,onChipInteract:this.handleChipInteract,onPopoverClose:this.handlePopoverClose}}autoOpenPathFor(e,t){var n;if("all"!==t.type&&"any"!==t.type)return null;const r=d(this.normalizedValue,e);if(void 0===r||"all"!==r.type&&"any"!==r.type)return null;const i=new Set(r.rules.map((e=>{var t;return null===(t=_(e))||void 0===t?void 0:t.ref})).filter((e=>void 0!==e))),l=t.rules.map(((e,t)=>{var n;const r=null===(n=_(e))||void 0===n?void 0:n.ref;return r&&!i.has(r)?{ref:r,index:t}:null})).filter((e=>null!==e));if(1!==l.length)return null;const[{ref:o,index:s}]=l;return(null===(n=this.metadataById.get(o.id))||void 0===n?void 0:n.configComponent)?y(e,s):null}indexMetadata(){var e,t,n;const r=null!==(n=null===(t=(e=this.ruleRegistry).listMetadata)||void 0===t?void 0:t.call(e))&&void 0!==n?n:[];this.metadataById=new Map(r.map((e=>[e.id,e]))),this.allPrimitiveOptions=v(this.metadataById,this.translator)}rebuildAvailableOptions(){this.availablePrimitiveOptions=v(this.availablePrimitiveMetadata(),this.translator)}availablePrimitiveMetadata(){const e=new Map;for(const[t,n]of this.metadataById)m(n,this.reachableSlots)&&e.set(t,n);return e}computeReachableSlots(){var e;const t=this.contextRegistry,n=t.list().map((e=>e.id)).filter((e=>void 0!==t.get(e,this.host)));this.reachableSlots=new Set([...n,...null!==(e=this.availableContexts)&&void 0!==e?e:[]])}runValidation(){if(!this.value)return void(this.issues=[]);const e=this.ruleRegistry.validate(this.normalizedValue,[...this.reachableSlots]);this.issues=e.ok?[]:e.issues}emitIfChanged(e){e!==this.normalizedValue&&this.change.emit(function(e){return"all"!==e.type&&"any"!==e.type?e:0===e.rules.length?void 0:e}(e))}get normalizedValue(){if(null!==this.normalizedCache&&this.normalizedCache.source===this.value)return this.normalizedCache.normalized;const e=function(e){return e?I(e)?e:{type:"all",rules:[e]}:{type:"all",rules:[]}}(this.value);return this.normalizedCache={source:this.value,normalized:e},e}emitNormalization(){if(!this.value)return!1;const e=this.normalizedValue;return e!==this.value&&(this.change.emit(e),!0)}get ruleRegistry(){return this.platform.get(o.RuleRegistry)}get translator(){return this.platform.get(o.Translate)}get contextRegistry(){return this.platform.get(o.ContextRegistry)}get effectiveContext(){var e,t;return(null===(e=this.context)||void 0===e?void 0:e.limetype)?this.context:(null===(t=this.resolvedContext)||void 0===t?void 0:t.limetype)?this.resolvedContext:T}get host(){return this}static get watchers(){return{value:[{onValueChange:0}],availableContexts:[{onAvailableContextsChange:0}]}}static get style(){return":host{display:block}.rule-editor--disabled{opacity:0.6;pointer-events:none}.rule-editor__label{font-size:0.75rem;font-weight:600;color:rgb(var(--contrast-1500));margin-bottom:0.25rem}.rule-editor__helper-text{font-size:0.75rem;color:rgb(var(--contrast-1300));margin-top:0.25rem}.rule-node{border:1px solid rgb(var(--contrast-500));border-radius:0.5rem;margin:0.25rem 0;overflow:hidden;background-color:rgb(var(--contrast-100))}.rule-node--invalid{border-color:rgb(var(--color-red-default))}.rule-node--all>.rule-node__header,.rule-node--any>.rule-node__header{background-color:rgb(var(--contrast-300));padding:0.375rem 0.75rem;border-bottom:1px solid rgb(var(--contrast-500))}.rule-node__header{display:flex;align-items:center;gap:0.5rem}.rule-node__header-actions{margin-left:auto;display:grid;grid-auto-flow:column;grid-gap:0.5rem;padding:0.125rem;align-items:center}.rule-node__combinator-select{min-width:6rem}.rule-node__body{padding:0.75rem;display:flex;flex-direction:column;gap:0.75rem}limel-popover.rule-node__chips-popover{display:contents;--popover-surface-width:min(calc(100vw - 4rem), 50rem)}.rule-node__chips{display:block;width:100%}.rule-node__chips limel-picker{display:block;width:100%}.rule-node__children{display:flex;flex-direction:column;gap:0.5rem}.rule-node__footer{display:flex;justify-content:center}.rule-node__issue{color:rgb(var(--color-red-default));font-size:0.875rem}"}},[1,"limebb-rule-editor",{platform:[16],context:[16],value:[16],availableContexts:[16],required:[516],readonly:[516],disabled:[516],label:[513],helperText:[1,"helper-text"],resolvedContext:[32],issues:[32],openChipPath:[32],availablePrimitiveOptions:[32]},void 0,{value:[{onValueChange:0}],availableContexts:[{onAvailableContextsChange:0}]}]);!function(e,t,n,r){var i,l=arguments.length,o=l<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(l<3?i(o):l>3?i(t,n,o):i(t,n))||o);l>3&&o&&Object.defineProperty(t,n,o)}([l("context")],L.prototype,"resolvedContext",void 0);const T=Object.freeze({limetype:null,id:null}),q=L,F=function(){"undefined"!=typeof customElements&&["limebb-rule-editor","limebb-rule-chip-popover"].forEach((e=>{switch(e){case"limebb-rule-editor":customElements.get(i(e))||customElements.define(i(e),L);break;case"limebb-rule-chip-popover":customElements.get(i(e))||s()}}))};export{q as LimebbRuleEditor,F as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as e,HTMLElement as t,h as s,Host as i,transformTag as o}from"@stencil/core/internal/client";import{b as n}from"./index.esm.js";const l=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.shouldRender=!1}componentWillLoad(){this.evaluate()}disconnectedCallback(){var e;null===(e=this.stopSubscription)||void 0===e||e.call(this)}onRuleChange(){this.evaluate()}onScopeChange(){this.evaluate()}render(){return s(i,{key:"1aebc90e382bed53ff293634f4aa37cbc5b1f9d0",hidden:!this.shouldRender},s("slot",{key:"f28d6bc819101c43c980b80b4467dcb0d15292fa"}))}get ruleRegistry(){return this.platform.get(n.RuleRegistry)}evaluate(){var e;if(null===(e=this.stopSubscription)||void 0===e||e.call(this),this.stopSubscription=void 0,this.rule)try{const e=this.ruleRegistry.compile(this.rule);if(this.scope)return void(this.shouldRender=e.evaluate(this.scope));this.stopSubscription=this.ruleRegistry.subscribe(e,{host:this.host},(e=>{this.shouldRender=e}))}catch(e){console.warn("rule-gate failed to compile rule; hiding slot",{rule:this.rule,error:e}),this.shouldRender=!1}else this.shouldRender=!0}get host(){return this}static get watchers(){return{rule:[{onRuleChange:0}],scope:[{onScopeChange:0}]}}static get style(){return":host{display:block}:host([hidden]){display:none}"}},[257,"limebb-rule-gate",{platform:[16],rule:[16],scope:[16],shouldRender:[32]},void 0,{rule:[{onRuleChange:0}],scope:[{onScopeChange:0}]}]),r=l,h=function(){"undefined"!=typeof customElements&&["limebb-rule-gate"].forEach((e=>{"limebb-rule-gate"===e&&(customElements.get(o(e))||customElements.define(o(e),l))}))};export{r as LimebbRuleGate,h as defineCustomElement}
1
+ import{proxyCustomElement as e,HTMLElement as t,h as s,Host as i,transformTag as o}from"@stencil/core/internal/client";import{n}from"./index.esm.js";const l=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.shouldRender=!1}componentWillLoad(){this.evaluate()}disconnectedCallback(){var e;null===(e=this.stopSubscription)||void 0===e||e.call(this)}onRuleChange(){this.evaluate()}onScopeChange(){this.evaluate()}render(){return s(i,{key:"ce41c51b7f8b049d7d89374ef0c452b2e961aa23",hidden:!this.shouldRender},s("slot",{key:"ad04db83bceca78bf7bb2eb7b7b2dae018025319"}))}get ruleRegistry(){return this.platform.get(n.RuleRegistry)}evaluate(){var e;if(null===(e=this.stopSubscription)||void 0===e||e.call(this),this.stopSubscription=void 0,this.rule)try{const e=this.ruleRegistry.compile(this.rule);if(this.scope)return void(this.shouldRender=e.evaluate(this.scope));this.stopSubscription=this.ruleRegistry.subscribe(e,{host:this.host},(e=>{this.shouldRender=e}))}catch(e){console.warn("rule-gate failed to compile rule; hiding slot",{rule:this.rule,error:e}),this.shouldRender=!1}else this.shouldRender=!0}get host(){return this}static get watchers(){return{rule:[{onRuleChange:0}],scope:[{onScopeChange:0}]}}static get style(){return":host{display:block}:host([hidden]){display:none}"}},[257,"limebb-rule-gate",{platform:[16],rule:[16],scope:[16],shouldRender:[32]},void 0,{rule:[{onRuleChange:0}],scope:[{onScopeChange:0}]}]),r=l,h=function(){"undefined"!=typeof customElements&&["limebb-rule-gate"].forEach((e=>{"limebb-rule-gate"===e&&(customElements.get(o(e))||customElements.define(o(e),l))}))};export{r as LimebbRuleGate,h as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as s,transformTag as r}from"@stencil/core/internal/client";import{b as n,r as o,c as a,L as h}from"./index.esm.js";import{A as c,E as u,b as l,a as d,T as f}from"./keycodes.js";import{o as m,U as v,c as b,a as p,d as g,n as y,i as j,S as w,g as x}from"./_Uint8Array.js";import{d as O}from"./_defineProperty.js";import{c as k,e as S,S as I,i as E,a as C,r as T}from"./_MapCache.js";import{c as A}from"./random-string.js";import{h as P,b as M,c as F}from"./limetype.js";import{i as N}from"./non-null.js";import{d as _}from"./empty-state.js";import{d as L}from"./text-editor-picker.js";import{i as R}from"./isSymbol.js";var z=/\s/,D=/^\s+/;var U=/^[-+]0x[0-9a-f]+$/i,$=/^0b[01]+$/i,Q=/^0o[0-7]+$/i,G=parseInt;function q(t){if("number"==typeof t)return t;if(R(t))return NaN;if(k(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=k(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=function(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&z.test(t.charAt(e)););return e}(t)+1).replace(D,""):t}(t);var i=$.test(t);return i||Q.test(t)?G(t.slice(2),i?2:8):U.test(t)?NaN:+t}var W=Object.create,B=function(){function t(){}return function(e){if(!k(e))return{};if(W)return W(e);t.prototype=e;var i=new t;return t.prototype=void 0,i}}(),H=Object.prototype.hasOwnProperty;var K=m(Object.getPrototypeOf,Object);"object"==typeof exports&&exports&&!exports.nodeType&&exports&&"object"==typeof module&&module&&!module.nodeType&&module;var V=Object.prototype.hasOwnProperty;function J(t){var e=new t.constructor(t.byteLength);return new v(e).set(new v(t)),e}var X=/\w*$/,Y=I?I.prototype:void 0,Z=Y?Y.valueOf:void 0;var tt=y&&y.isMap,et=tt?g(tt):function(t){return E(t)&&"[object Map]"==p(t)},it=y&&y.isSet,st=it?g(it):function(t){return E(t)&&"[object Set]"==p(t)},rt="[object Arguments]",nt="[object Function]",ot="[object Object]",at={};function ht(t,e,i,s,r,n){var o;if(void 0!==o)return o;if(!k(t))return t;var a=C(t);if(a)o=function(t){var e=t.length,i=new t.constructor(e);return e&&"string"==typeof t[0]&&V.call(t,"index")&&(i.index=t.index,i.input=t.input),i}(t);else{var h=p(t),c=h==nt||"[object GeneratorFunction]"==h;if(j(t))return function(t){return t.slice()}(t);if(h==ot||h==rt||c&&!r)o=c?{}:function(t){return"function"!=typeof t.constructor||b(t)?{}:B(K(t))}(t);else{if(!at[h])return r?t:{};o=function(t,e){var i=t.constructor;switch(e){case"[object ArrayBuffer]":return J(t);case"[object Boolean]":case"[object Date]":return new i(+t);case"[object DataView]":return function(t){var e=J(t.buffer);return new t.constructor(e,t.byteOffset,t.byteLength)}(t);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(t){var e=J(t.buffer);return new t.constructor(e,t.byteOffset,t.length)}(t);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(t);case"[object RegExp]":return function(t){var e=new t.constructor(t.source,X.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Symbol]":return function(t){return Z?Object(Z.call(t)):{}}(t)}}(t,h)}}n||(n=new w);var u=n.get(t);if(u)return u;n.set(t,o),st(t)?t.forEach((function(s){o.add(ht(s,e,i,0,t,n))})):et(t)&&t.forEach((function(s,r){o.set(r,ht(s,e,i,0,t,n))}));var l=a?void 0:x(t);return function(t,e){for(var i=-1,s=null==t?0:t.length;++i<s&&!1!==e(t[i],i););}(l||t,(function(s,r){l&&(s=t[r=s]),function(t,e,i){var s=t[e];H.call(t,e)&&S(s,i)&&(void 0!==i||e in t)||function(t,e,i){"__proto__"==e&&O?O(t,e,{configurable:!0,enumerable:!0,value:i,writable:!0}):t[e]=i}(t,e,i)}(o,r,ht(s,e,i,0,t,n))})),o}at[rt]=at["[object Array]"]=at["[object ArrayBuffer]"]=at["[object DataView]"]=at["[object Boolean]"]=at["[object Date]"]=at["[object Float32Array]"]=at["[object Float64Array]"]=at["[object Int8Array]"]=at["[object Int16Array]"]=at["[object Int32Array]"]=at["[object Map]"]=at["[object Number]"]=at[ot]=at["[object RegExp]"]=at["[object Set]"]=at["[object String]"]=at["[object Symbol]"]=at["[object Uint8Array]"]=at["[object Uint8ClampedArray]"]=at["[object Uint16Array]"]=at["[object Uint32Array]"]=!0,at["[object Error]"]=at[nt]=at["[object WeakMap]"]=!1;var ct=function(){return T.Date.now()},ut=Math.max,lt=Math.min;function dt(t,e){return t.map(((t,i)=>{const s=function(t){return ht(t,5)}(t);return Object.assign(Object.assign({},s),{selected:i===e})}))}class ft{get limeObjectService(){return this.platform.get(n.LimeObjectRepository)}get queryService(){return this.platform.get(n.Query)}get viewFactoryRegistry(){return this.platform.get(n.ViewFactoryRegistry)}get contextRegistry(){return this.platform.get(n.ContextRegistry)}get translator(){var t;return null===(t=this.platform)||void 0===t?void 0:t.get(n.Translate)}get triggerCharacter(){return this._triggerCharacter}get triggerHandler(){return this._triggerHandler}constructor(t,e,i,s){this.platform=t,this.context=e,this.searchableLimetypes=i,this.host=s,this.groupCounts={},this._triggerCharacter="@",this._triggerHandler={searcher:t=>this.searcher(t),inserter:(t,e)=>this.inserter(t,e),emptySearchMessage:"Start typing a name...",noItemsFoundMessage:"No results for your search...",nodeDefinition:{customElement:{tagName:"limebb-mention",attributes:["limetype","objectid","href"]},mapAttributes:t=>({limetype:t.value.getLimetype().name,objectid:t.value.id,href:`object/${this.context.limetype}/${this.context.id}`})}},this.searcher=async t=>{if(!t)return[];const{objects:e}=await this.limeObjectService.search(t,this.searchableLimetypes,10);return this.createSearchListItems(e)},this.inserter=async(t,e)=>{var i;const s=this.triggerHandler.nodeDefinition;s&&t.insert({node:{tagName:s.customElement.tagName,attributes:s.mapAttributes(e)},children:[null===(i=e.value)||void 0===i?void 0:i.descriptive]})}}async initialize(){await this.loadGroupCounts()}async loadGroupCounts(){const t=this.searchableLimetypes.filter((t=>!M(t,"user")&&P(t,"user"))).map((t=>this.getGroupCounts(t)));for(const e of await Promise.all(t))Object.assign(this.groupCounts,e)}async getGroupCounts(t){var e;const i=F(t,"user"),s=t.name;try{const t=await this.queryService.execute({limetype:s,responseFormat:{object:{_id:null,[i.name]:{count:{aggregate:{op:o.Count}}}}}});if(!(null===(e=t.objects)||void 0===e?void 0:e.length))return{[s]:{}};const r=this.createGroupCount(t.objects,i.name);return{[s]:r}}catch(e){return console.error("Error fetching group count for limetype: "+t.name,e),{[s]:{}}}}createGroupCount(t,e){const i={};for(const s of t){const{_id:t,[e]:r}=s;i[t]=r.count}return i}createSearchListItems(t=[]){return t.map((t=>this.createSearchListItem(t))).filter(N)}createSearchListItem(t){const e=this.viewFactoryRegistry.getFactory("search"),i=this.limeObjectService.getObject(t._limetype,t._id);if(!i)return null;const s=e(i,this.contextRegistry.scope({host:this.host})),r=this.getGroupCountComponent(i);return Object.assign(Object.assign({},s),r?{primaryComponent:r}:{})}getGroupCountComponent(t){var e;const i=t.getLimetype(),s=null===(e=this.groupCounts[i.name])||void 0===e?void 0:e[t.id],r=F(i,"user");if(void 0!==s&&r)return{name:"limebb-mention-group-counter",props:{count:s,limetype:r.relation.getLimetype(),helperLabel:this.translator.get("webclient.notification-center.members-will-be-notified")}}}}class mt{constructor(t,e){this.file=t,this.http=e,this.uploadCancelled=!1,this.getUrl=t=>"api/v1/file/"+(null!=t?t:"")}async initialize(){this.uploadService=await this.http.createFileUpload(a.Post,this.getUrl(),this.file),this.progressCallback&&(this.uploadService.onProgress=this.progressCallback)}async upload(){return this.uploadService.upload()}getFileName(){return this.file.name}cancel(){this.uploadService.cancel(),this.uploadCancelled=!0}set onProgress(t){this.progressCallback=t,this.uploadService&&(this.uploadService.onProgress=t)}}class vt{constructor(t){this.platform=t}async handleImagePasted(t){const e=null==t?void 0:t.fileInfo;if(!e)return;if(!this.validateImageSize(e))return;t.insertThumbnail();const i=await this.createFileUpload(e),s=null==i?void 0:i.href;return s&&void 0!==(null==i?void 0:i.fileId)?t.insertImage(s):t.insertFailedThumbnail(),i}parseFileIdFromSrc(t){if(t){const e=/\/(\d+)\/contents\/?$/.exec(t);if(e&&e[1])return Number(e[1])}}validateImageSize(t){return!!t.fileContent&&t.fileContent.size<=52428800}async createFileUpload(t){var e;if(!t.fileContent)return;const i=new mt(t.fileContent,this.http);await i.initialize();const s=Object.assign(Object.assign({},t),{progress:0,file:i,state:"added",fileId:void 0,href:void 0,id:t.id});i.onProgress=t=>{0===s.progress&&(s.state="uploading"),s.progress=t,100===t&&(s.state="finalizing")};const r=await i.upload();return s.fileId=r.id,s.filename=r.filename,s.extension=r.extension,s.contentType=r.contentType,s.size=r.size,s.state="done",s.href=null===(e=r._links)||void 0===e?void 0:e.contents.href,s}get http(){return this.platform.get(n.Http)}}const bt=t(class extends e{watchOpen(){this.setupHandlers(),this.setPickerMessage()}watchQuery(){this.setPickerMessage()}constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.change=i(this,"change",7),this.metadataChange=i(this,"metadataChange",7),this.allowMentioning=!1,this.contentType="markdown",this.language="en",this.disabled=!1,this.readonly=!1,this.invalid=!1,this.required=!1,this.ui="standard",this.allowResize=!0,this.value="",this.triggerMap={},this.customElements=[],this.allowInlineImages=!1,this.items=[],this.highlightedItemIndex=0,this.isPickerOpen=!1,this.isSearching=!1,this.registeredTriggers=[],this.registeredTriggerMap=this.triggerMap,this.registeredCustomElements=this.customElements,this.activeTrigger=void 0,this.handleMouseClick=t=>{this.textEditorPickerElement&&(t.target===this.textEditorPickerElement||this.resetTriggerAndPicker())},this.handleKeyPress=t=>{if(!this.isPickerOpen||!this.activeTrigger)return;if(![u,l,c,d,f].includes(t.key))return;if(t.stopPropagation(),t.preventDefault(),"keyup"===t.type)return;const e={[u]:this.handleEscapeKey,[d]:this.handleEnterOrTabKey,[f]:this.handleEnterOrTabKey,[c]:this.handleArrowKeyPress,[l]:this.handleArrowKeyPress}[t.key];e&&e(t)},this.handleArrowKeyPress=t=>{this.highlightedItemIndex=this.findNonSeparatorIndex(t.key,this.highlightedItemIndex)},this.findNonSeparatorIndex=(t,e,i=0)=>{if(0===this.items.length||i>this.items.length)return e;const s=((t,e,i)=>(e+(t===c?1:-1)+i)%i)(t,e,this.items.length);return this.isListSeparator(this.items[s])?this.findNonSeparatorIndex(t,s,i+1):s},this.handleEscapeKey=()=>{var t;null===(t=this.triggerFunction)||void 0===t||t.stopTrigger(),this.resetTriggerAndPicker()},this.handleEnterOrTabKey=t=>{this.handleItemSelection(t)},this.handleMetadataChange=t=>{t.stopPropagation();const e=t.detail,i=this.getEnhancedImages(e.images||[]),s=Object.assign(Object.assign({},e),{images:i});this.metadataChange.emit(s)},this.handleImagePasted=t=>{t.stopPropagation(),this.allowInlineImages&&this.uploadHandler.handleImagePasted(t.detail)},this.handleTriggerStart=t=>{t.stopPropagation(),this.activeTrigger=t.detail.trigger,this.triggerFunction=t.detail.textEditor,this.isPickerOpen=!0},this.handleTriggerStop=t=>{t.stopPropagation(),this.resetTriggerAndPicker()},this.handleTriggerChange=t=>{var e;t.stopImmediatePropagation(),this.editorPickerQuery=t.detail.value;const i=null===(e=this.registeredTriggerMap[t.detail.trigger])||void 0===e?void 0:e.searcher;i&&(this.isSearching=!0,this.debouncedSearchFn(i,this.editorPickerQuery))},this.resetTriggerAndPicker=()=>{this.isPickerOpen=!1,this.activeTrigger=void 0,this.triggerFunction=void 0,this.isSearching=!1,this.highlightedItemIndex=0,this.items=[]},this.handleItemSelection=t=>{var e;let i;if(t instanceof CustomEvent)i=t.detail;else{if(!(t instanceof KeyboardEvent))return;{const t=this.items[this.highlightedItemIndex];if(this.isListSeparator(t))return;i=t}}if(!this.activeTrigger||(null==i?void 0:i.disabled))return;const s=this.registeredTriggerMap[this.activeTrigger];try{s.inserter(this.triggerFunction,i)}catch(t){console.error("Error inserting",t)}this.resetTriggerAndPicker(),null===(e=this.textEditor)||void 0===e||e.focus()},this.handleVisibilityChange=()=>{"hidden"===document.visibilityState&&this.saveDraft()},this.handleBeforeUnload=()=>{this.saveDraft()},this.portalId=A(),this.debouncedSearchFn=function(t,e,i){var s,r,n,o,a,h,c=0,u=!1,l=!1,d=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function f(e){var i=s,n=r;return s=r=void 0,c=e,o=t.apply(n,i)}function m(t){var i=t-h;return void 0===h||i>=e||i<0||l&&t-c>=n}function v(){var t=ct();if(m(t))return b(t);a=setTimeout(v,function(t){var i=e-(t-h);return l?lt(i,n-(t-c)):i}(t))}function b(t){return a=void 0,d&&s?f(t):(s=r=void 0,o)}function p(){var t=ct(),i=m(t);if(s=arguments,r=this,h=t,i){if(void 0===a)return function(t){return c=t,a=setTimeout(v,e),u?f(t):o}(h);if(l)return clearTimeout(a),a=setTimeout(v,e),f(h)}return void 0===a&&(a=setTimeout(v,e)),o}return e=q(e)||0,k(i)&&(u=!!i.leading,n=(l="maxWait"in i)?ut(q(i.maxWait)||0,e):n,d="trailing"in i?!!i.trailing:d),p.cancel=function(){void 0!==a&&clearTimeout(a),c=0,s=h=r=a=void 0},p.flush=function(){return void 0===a?o:b(ct())},p}((async(t,e)=>{try{const i=await t(e);if(e!==this.editorPickerQuery||!this.activeTrigger)return;this.items=i}catch(t){console.error("Error searching",t)}finally{this.isSearching=!1}}),300)}connectedCallback(){var t,e,i,s;if(this.draftIdentifier){const r=null!==(e=null===(t=this.context)||void 0===t?void 0:t.id)&&void 0!==e?e:"no-limeobject",n=null!==(s=null===(i=this.context)||void 0===i?void 0:i.limetype)&&void 0!==s?s:"no-limetype";this.textEditorInnerId=["text-editor-draft",n,r,this.draftIdentifier].join("-")}this.textEditorInnerId&&(document.addEventListener("visibilitychange",this.handleVisibilityChange),window.addEventListener("beforeunload",this.handleBeforeUnload)),this.uploadHandler=new vt(this.platform)}componentWillLoad(){this.allowMentioning&&this.registerMentions(),this.registerTriggers(),this.loadDraft()}disconnectedCallback(){document.removeEventListener("visibilitychange",this.handleVisibilityChange),window.removeEventListener("beforeunload",this.handleBeforeUnload),document.removeEventListener("mousedown",this.handleMouseClick),this.saveDraft(),this.host&&(this.host.removeEventListener("keyup",this.handleKeyPress,{capture:!0}),this.host.removeEventListener("keydown",this.handleKeyPress,{capture:!0})),this.debouncedSearchFn&&this.debouncedSearchFn.cancel&&this.debouncedSearchFn.cancel()}registerMentions(){const t=new ft(this.platform,this.context,this.searchableLimetypes,this.host),e=t.triggerHandler.nodeDefinition;e&&(this.registeredCustomElements.push(e.customElement),this.registeredTriggerMap[t.triggerCharacter]=t.triggerHandler,t.initialize())}registerTriggers(){this.registeredTriggers=Object.keys(this.registeredTriggerMap)}setPickerMessage(){var t;if(!this.activeTrigger)return;const e=this.registeredTriggerMap[this.activeTrigger];this.pickerMessage=(null===(t=this.editorPickerQuery)||void 0===t?void 0:t.length)>0?e.noItemsFoundMessage:e.emptySearchMessage}setupHandlers(){this.isPickerOpen?(this.host.addEventListener("keyup",this.handleKeyPress,{capture:!0}),this.host.addEventListener("keydown",this.handleKeyPress,{capture:!0}),document.addEventListener("mousedown",this.handleMouseClick)):(this.host.removeEventListener("keyup",this.handleKeyPress,{capture:!0}),this.host.removeEventListener("keydown",this.handleKeyPress,{capture:!0}),document.removeEventListener("mousedown",this.handleMouseClick))}isListSeparator(t){return"separator"in t&&!0===t.separator}render(){return[s("limel-text-editor",{key:"0f1423f13a517aaeea8efbacab475a37e38aa857",ref:t=>this.textEditor=t,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}),this.renderPicker()]}renderPicker(){if(this.isPickerOpen)return s("limel-portal",{containerId:this.portalId,visible:this.isPickerOpen,openDirection:"top",inheritParentWidth:!0,anchor:this.textEditor},s("limebb-text-editor-picker",{ref:t=>this.textEditorPickerElement=t,items:dt(this.items,this.highlightedItemIndex),onItemSelected:this.handleItemSelection,emptyMessage:this.pickerMessage,isSearching:this.isSearching}))}getEnhancedImages(t){return t.map((t=>{let e;return"success"===t.state&&(e=this.uploadHandler.parseFileIdFromSrc(t.src)),e?Object.assign(Object.assign({},t),{fileId:e}):t}))}loadDraft(){if(!this.userDataService||!this.textEditorInnerId)return;if(this.value)return;const t=this.userDataService.get(this.textEditorInnerId);t&&this.change.emit(t)}saveDraft(){var t,e,i,s;if(!this.textEditorInnerId)return;const r=null===(t=this.value)||void 0===t?void 0:t.trim(),n=null===(e=this.userDataService)||void 0===e?void 0:e.get(this.textEditorInnerId);r&&r!==n?null===(i=this.userDataService)||void 0===i||i.set(this.textEditorInnerId,r):!r&&n&&(null===(s=this.userDataService)||void 0===s||s.set(this.textEditorInnerId,void 0))}get userDataService(){return this.platform.get(n.UserDataRepository)}static get delegatesFocus(){return!0}get host(){return this}static get watchers(){return{isPickerOpen:[{watchOpen:0}],editorPickerQuery:[{watchQuery:0}]}}static get style(){return":host(limebb-text-editor){display:block;width:100%;min-width:5rem;min-height:5rem;height:100%;max-height:var(--text-editor-max-height, calc(100vh - (env(safe-area-inset-top) + env(safe-area-inset-bottom)) - 4rem))}"}},[17,"limebb-text-editor",{platform:[16],context:[16],allowMentioning:[4,"allow-mentioning"],contentType:[1,"content-type"],language:[513],disabled:[516],readonly:[516],helperText:[513,"helper-text"],placeholder:[513],label:[513],invalid:[516],required:[516],selectedContext:[16],ui:[513],allowResize:[4,"allow-resize"],value:[1],draftIdentifier:[1,"draft-identifier"],triggerMap:[16],customElements:[16],allowInlineImages:[4,"allow-inline-images"],items:[32],highlightedItemIndex:[32],editorPickerQuery:[32],searchableLimetypes:[32],isPickerOpen:[32],isSearching:[32]},void 0,{isPickerOpen:[{watchOpen:0}],editorPickerQuery:[{watchQuery:0}]}]);!function(t,e,i,s){var r,n=arguments.length,o=n<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,i,s);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(n<3?r(o):n>3?r(e,i,o):r(e,i))||o);n>3&&o&&Object.defineProperty(e,i,o)}([h({map:[function(t){return Object.values(t).filter((t=>M(t,"user")||P(t,"user")))}]})],bt.prototype,"searchableLimetypes",void 0);const pt=bt,gt=function(){"undefined"!=typeof customElements&&["limebb-text-editor","limebb-empty-state","limebb-text-editor-picker"].forEach((t=>{switch(t){case"limebb-text-editor":customElements.get(r(t))||customElements.define(r(t),bt);break;case"limebb-empty-state":customElements.get(r(t))||_();break;case"limebb-text-editor-picker":customElements.get(r(t))||L()}}))};export{pt as LimebbTextEditor,gt as defineCustomElement}
1
+ import{proxyCustomElement as t,HTMLElement as e,createEvent as i,h as s,transformTag as r}from"@stencil/core/internal/client";import{n,s as o,c as a,I as h,_ as c}from"./index.esm.js";import{A as u,E as l,b as d,a as f,T as m}from"./keycodes.js";import{o as p,U as b,c as v,a as g,d as y,n as j,i as w,S as x,g as k}from"./_Uint8Array.js";import{d as O}from"./_defineProperty.js";import{c as S,e as E,S as I,i as T,a as C,r as A}from"./_MapCache.js";import{c as P}from"./random-string.js";import{h as M,b as N,c as F}from"./limetype.js";import{i as _}from"./non-null.js";import{g as R}from"./file-contents-url.js";import{d as U}from"./empty-state.js";import{d as D}from"./text-editor-picker.js";import{i as L}from"./isSymbol.js";var z=/\s/,Q=/^\s+/;var $=/^[-+]0x[0-9a-f]+$/i,G=/^0b[01]+$/i,q=/^0o[0-7]+$/i,W=parseInt;function B(t){if("number"==typeof t)return t;if(L(t))return NaN;if(S(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=S(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=function(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&z.test(t.charAt(e)););return e}(t)+1).replace(Q,""):t}(t);var i=G.test(t);return i||q.test(t)?W(t.slice(2),i?2:8):$.test(t)?NaN:+t}var H=Object.create,K=function(){function t(){}return function(e){if(!S(e))return{};if(H)return H(e);t.prototype=e;var i=new t;return t.prototype=void 0,i}}(),V=Object.prototype.hasOwnProperty;var J=p(Object.getPrototypeOf,Object);"object"==typeof exports&&exports&&!exports.nodeType&&exports&&"object"==typeof module&&module&&!module.nodeType&&module;var X=Object.prototype.hasOwnProperty;function Y(t){var e=new t.constructor(t.byteLength);return new b(e).set(new b(t)),e}var Z=/\w*$/,tt=I?I.prototype:void 0,et=tt?tt.valueOf:void 0;var it=j&&j.isMap,st=it?y(it):function(t){return T(t)&&"[object Map]"==g(t)},rt=j&&j.isSet,nt=rt?y(rt):function(t){return T(t)&&"[object Set]"==g(t)},ot="[object Arguments]",at="[object Function]",ht="[object Object]",ct={};function ut(t,e,i,s,r,n){var o;if(void 0!==o)return o;if(!S(t))return t;var a=C(t);if(a)o=function(t){var e=t.length,i=new t.constructor(e);return e&&"string"==typeof t[0]&&X.call(t,"index")&&(i.index=t.index,i.input=t.input),i}(t);else{var h=g(t),c=h==at||"[object GeneratorFunction]"==h;if(w(t))return function(t){return t.slice()}(t);if(h==ht||h==ot||c&&!r)o=c?{}:function(t){return"function"!=typeof t.constructor||v(t)?{}:K(J(t))}(t);else{if(!ct[h])return r?t:{};o=function(t,e){var i=t.constructor;switch(e){case"[object ArrayBuffer]":return Y(t);case"[object Boolean]":case"[object Date]":return new i(+t);case"[object DataView]":return function(t){var e=Y(t.buffer);return new t.constructor(e,t.byteOffset,t.byteLength)}(t);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(t){var e=Y(t.buffer);return new t.constructor(e,t.byteOffset,t.length)}(t);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(t);case"[object RegExp]":return function(t){var e=new t.constructor(t.source,Z.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Symbol]":return function(t){return et?Object(et.call(t)):{}}(t)}}(t,h)}}n||(n=new x);var u=n.get(t);if(u)return u;n.set(t,o),nt(t)?t.forEach((function(s){o.add(ut(s,e,i,0,t,n))})):st(t)&&t.forEach((function(s,r){o.set(r,ut(s,e,i,0,t,n))}));var l=a?void 0:k(t);return function(t,e){for(var i=-1,s=null==t?0:t.length;++i<s&&!1!==e(t[i],i););}(l||t,(function(s,r){l&&(s=t[r=s]),function(t,e,i){var s=t[e];V.call(t,e)&&E(s,i)&&(void 0!==i||e in t)||function(t,e,i){"__proto__"==e&&O?O(t,e,{configurable:!0,enumerable:!0,value:i,writable:!0}):t[e]=i}(t,e,i)}(o,r,ut(s,e,i,0,t,n))})),o}ct[ot]=ct["[object Array]"]=ct["[object ArrayBuffer]"]=ct["[object DataView]"]=ct["[object Boolean]"]=ct["[object Date]"]=ct["[object Float32Array]"]=ct["[object Float64Array]"]=ct["[object Int8Array]"]=ct["[object Int16Array]"]=ct["[object Int32Array]"]=ct["[object Map]"]=ct["[object Number]"]=ct[ht]=ct["[object RegExp]"]=ct["[object Set]"]=ct["[object String]"]=ct["[object Symbol]"]=ct["[object Uint8Array]"]=ct["[object Uint8ClampedArray]"]=ct["[object Uint16Array]"]=ct["[object Uint32Array]"]=!0,ct["[object Error]"]=ct[at]=ct["[object WeakMap]"]=!1;var lt=function(){return A.Date.now()},dt=Math.max,ft=Math.min;function mt(t,e){return t.map(((t,i)=>{const s=function(t){return ut(t,5)}(t);return Object.assign(Object.assign({},s),{selected:i===e})}))}class pt{get limeObjectService(){return this.platform.get(n.LimeObjectRepository)}get queryService(){return this.platform.get(n.Query)}get viewFactoryRegistry(){return this.platform.get(n.ViewFactoryRegistry)}get contextRegistry(){return this.platform.get(n.ContextRegistry)}get translator(){var t;return null===(t=this.platform)||void 0===t?void 0:t.get(n.Translate)}get triggerCharacter(){return this._triggerCharacter}get triggerHandler(){return this._triggerHandler}constructor(t,e,i,s){this.platform=t,this.context=e,this.searchableLimetypes=i,this.host=s,this.groupCounts={},this._triggerCharacter="@",this._triggerHandler={searcher:t=>this.searcher(t),inserter:(t,e)=>this.inserter(t,e),emptySearchMessage:"Start typing a name...",noItemsFoundMessage:"No results for your search...",nodeDefinition:{customElement:{tagName:"limebb-mention",attributes:["limetype","objectid","href"]},mapAttributes:t=>({limetype:t.value.getLimetype().name,objectid:t.value.id,href:`object/${this.context.limetype}/${this.context.id}`})}},this.searcher=async t=>{if(!t)return[];const{objects:e}=await this.limeObjectService.search(t,this.searchableLimetypes,10);return this.createSearchListItems(e)},this.inserter=async(t,e)=>{var i;const s=this.triggerHandler.nodeDefinition;s&&t.insert({node:{tagName:s.customElement.tagName,attributes:s.mapAttributes(e)},children:[null===(i=e.value)||void 0===i?void 0:i.descriptive]})}}async initialize(){await this.loadGroupCounts()}async loadGroupCounts(){const t=this.searchableLimetypes.filter((t=>!N(t,"user")&&M(t,"user"))).map((t=>this.getGroupCounts(t)));for(const e of await Promise.all(t))Object.assign(this.groupCounts,e)}async getGroupCounts(t){var e;const i=F(t,"user"),s=t.name;try{const t=await this.queryService.execute({limetype:s,responseFormat:{object:{_id:null,[i.name]:{count:{aggregate:{op:o.Count}}}}}});if(!(null===(e=t.objects)||void 0===e?void 0:e.length))return{[s]:{}};const r=this.createGroupCount(t.objects,i.name);return{[s]:r}}catch(e){return console.error("Error fetching group count for limetype: "+t.name,e),{[s]:{}}}}createGroupCount(t,e){const i={};for(const s of t){const{_id:t,[e]:r}=s;i[t]=r.count}return i}createSearchListItems(t=[]){return t.map((t=>this.createSearchListItem(t))).filter(_)}createSearchListItem(t){const e=this.viewFactoryRegistry.getFactory("search"),i=this.limeObjectService.getObject(t._limetype,t._id);if(!i)return null;const s=e(i,this.contextRegistry.scope({host:this.host})),r=this.getGroupCountComponent(i);return Object.assign(Object.assign({},s),r?{primaryComponent:r}:{})}getGroupCountComponent(t){var e;const i=t.getLimetype(),s=null===(e=this.groupCounts[i.name])||void 0===e?void 0:e[t.id],r=F(i,"user");if(void 0!==s&&r)return{name:"limebb-mention-group-counter",props:{count:s,limetype:r.relation.getLimetype(),helperLabel:this.translator.get("webclient.notification-center.members-will-be-notified")}}}}class bt{constructor(t,e){this.file=t,this.http=e,this.uploadCancelled=!1,this.getUrl=t=>"api/v1/file/"+(null!=t?t:"")}async initialize(){this.uploadService=await this.http.createFileUpload(a.Post,this.getUrl(),this.file),this.progressCallback&&(this.uploadService.onProgress=this.progressCallback)}async upload(){return this.uploadService.upload()}getFileName(){return this.file.name}cancel(){this.uploadService.cancel(),this.uploadCancelled=!0}set onProgress(t){this.progressCallback=t,this.uploadService&&(this.uploadService.onProgress=t)}}var vt=function(t,e,i,s){var r,n=arguments.length,o=n<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,i,s);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(n<3?r(o):n>3?r(e,i,o):r(e,i))||o);return n>3&&o&&Object.defineProperty(e,i,o),o};const gt=t(class extends e{watchOpen(){this.setupHandlers(),this.setPickerMessage()}watchQuery(){this.setPickerMessage()}constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.change=i(this,"change",7),this.imageUploadingChange=i(this,"imageUploadingChange",7),this.allowMentioning=!1,this.contentType="markdown",this.language="en",this.disabled=!1,this.readonly=!1,this.invalid=!1,this.required=!1,this.ui="standard",this.allowResize=!0,this.value="",this.triggerMap={},this.customElements=[],this.allowPasteImages=!1,this.items=[],this.highlightedItemIndex=0,this.isPickerOpen=!1,this.isSearching=!1,this.registeredTriggers=[],this.registeredTriggerMap=this.triggerMap,this.registeredCustomElements=this.customElements,this.activeTrigger=void 0,this.pendingUploads=0,this.handleMouseClick=t=>{this.textEditorPickerElement&&(t.target===this.textEditorPickerElement||this.resetTriggerAndPicker())},this.handleKeyPress=t=>{if(!this.isPickerOpen||!this.activeTrigger)return;if(![l,d,u,f,m].includes(t.key))return;if(t.stopPropagation(),t.preventDefault(),"keyup"===t.type)return;const e={[l]:this.handleEscapeKey,[f]:this.handleEnterOrTabKey,[m]:this.handleEnterOrTabKey,[u]:this.handleArrowKeyPress,[d]:this.handleArrowKeyPress}[t.key];e&&e(t)},this.handleArrowKeyPress=t=>{this.highlightedItemIndex=this.findNonSeparatorIndex(t.key,this.highlightedItemIndex)},this.findNonSeparatorIndex=(t,e,i=0)=>{if(0===this.items.length||i>this.items.length)return e;const s=((t,e,i)=>(e+(t===u?1:-1)+i)%i)(t,e,this.items.length);return this.isListSeparator(this.items[s])?this.findNonSeparatorIndex(t,s,i+1):s},this.handleEscapeKey=()=>{var t;null===(t=this.triggerFunction)||void 0===t||t.stopTrigger(),this.resetTriggerAndPicker()},this.handleEnterOrTabKey=t=>{this.handleItemSelection(t)},this.handleTriggerStart=t=>{t.stopPropagation(),this.activeTrigger=t.detail.trigger,this.triggerFunction=t.detail.textEditor,this.isPickerOpen=!0},this.handleTriggerStop=t=>{t.stopPropagation(),this.resetTriggerAndPicker()},this.handleTriggerChange=t=>{var e;t.stopImmediatePropagation(),this.editorPickerQuery=t.detail.value;const i=null===(e=this.registeredTriggerMap[t.detail.trigger])||void 0===e?void 0:e.searcher;i&&(this.isSearching=!0,this.debouncedSearchFn(i,this.editorPickerQuery))},this.resetTriggerAndPicker=()=>{this.isPickerOpen=!1,this.activeTrigger=void 0,this.triggerFunction=void 0,this.isSearching=!1,this.highlightedItemIndex=0,this.items=[]},this.handleItemSelection=t=>{var e;let i;if(t instanceof CustomEvent)i=t.detail;else{if(!(t instanceof KeyboardEvent))return;{const t=this.items[this.highlightedItemIndex];if(this.isListSeparator(t))return;i=t}}if(!this.activeTrigger||(null==i?void 0:i.disabled))return;const s=this.registeredTriggerMap[this.activeTrigger];try{s.inserter(this.triggerFunction,i)}catch(t){console.error("Error inserting",t)}this.resetTriggerAndPicker(),null===(e=this.textEditor)||void 0===e||e.focus()},this.handleVisibilityChange=()=>{"hidden"===document.visibilityState&&this.saveDraft()},this.handleBeforeUnload=()=>{this.saveDraft()},this.portalId=P(),this.debouncedSearchFn=function(t,e,i){var s,r,n,o,a,h,c=0,u=!1,l=!1,d=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function f(e){var i=s,n=r;return s=r=void 0,c=e,o=t.apply(n,i)}function m(t){var i=t-h;return void 0===h||i>=e||i<0||l&&t-c>=n}function p(){var t=lt();if(m(t))return b(t);a=setTimeout(p,function(t){var i=e-(t-h);return l?ft(i,n-(t-c)):i}(t))}function b(t){return a=void 0,d&&s?f(t):(s=r=void 0,o)}function v(){var t=lt(),i=m(t);if(s=arguments,r=this,h=t,i){if(void 0===a)return function(t){return c=t,a=setTimeout(p,e),u?f(t):o}(h);if(l)return clearTimeout(a),a=setTimeout(p,e),f(h)}return void 0===a&&(a=setTimeout(p,e)),o}return e=B(e)||0,S(i)&&(u=!!i.leading,n=(l="maxWait"in i)?dt(B(i.maxWait)||0,e):n,d="trailing"in i?!!i.trailing:d),v.cancel=function(){void 0!==a&&clearTimeout(a),c=0,s=h=r=a=void 0},v.flush=function(){return void 0===a?o:b(lt())},v}((async(t,e)=>{try{const i=await t(e);if(e!==this.editorPickerQuery||!this.activeTrigger)return;this.items=i}catch(t){console.error("Error searching",t)}finally{this.isSearching=!1}}),300)}connectedCallback(){var t,e,i,s;if(this.draftIdentifier){const r=null!==(e=null===(t=this.context)||void 0===t?void 0:t.id)&&void 0!==e?e:"no-limeobject",n=null!==(s=null===(i=this.context)||void 0===i?void 0:i.limetype)&&void 0!==s?s:"no-limetype";this.textEditorInnerId=["text-editor-draft",n,r,this.draftIdentifier].join("-")}this.textEditorInnerId&&(document.addEventListener("visibilitychange",this.handleVisibilityChange),window.addEventListener("beforeunload",this.handleBeforeUnload))}componentWillLoad(){this.allowMentioning&&this.registerMentions(),this.registerTriggers(),this.loadDraft()}disconnectedCallback(){document.removeEventListener("visibilitychange",this.handleVisibilityChange),window.removeEventListener("beforeunload",this.handleBeforeUnload),document.removeEventListener("mousedown",this.handleMouseClick),this.saveDraft(),this.host&&(this.host.removeEventListener("keyup",this.handleKeyPress,{capture:!0}),this.host.removeEventListener("keydown",this.handleKeyPress,{capture:!0})),this.debouncedSearchFn&&this.debouncedSearchFn.cancel&&this.debouncedSearchFn.cancel()}registerMentions(){const t=new pt(this.platform,this.context,this.searchableLimetypes,this.host),e=t.triggerHandler.nodeDefinition;e&&(this.registeredCustomElements.push(e.customElement),this.registeredTriggerMap[t.triggerCharacter]=t.triggerHandler,t.initialize())}registerTriggers(){this.registeredTriggers=Object.keys(this.registeredTriggerMap)}setPickerMessage(){var t;if(!this.activeTrigger)return;const e=this.registeredTriggerMap[this.activeTrigger];this.pickerMessage=(null===(t=this.editorPickerQuery)||void 0===t?void 0:t.length)>0?e.noItemsFoundMessage:e.emptySearchMessage}setupHandlers(){this.isPickerOpen?(this.host.addEventListener("keyup",this.handleKeyPress,{capture:!0}),this.host.addEventListener("keydown",this.handleKeyPress,{capture:!0}),document.addEventListener("mousedown",this.handleMouseClick)):(this.host.removeEventListener("keyup",this.handleKeyPress,{capture:!0}),this.host.removeEventListener("keydown",this.handleKeyPress,{capture:!0}),document.removeEventListener("mousedown",this.handleMouseClick))}isListSeparator(t){return"separator"in t&&!0===t.separator}render(){return[s("limel-text-editor",{key:"7c5597fd2affe6f7a625c3fabfbaaef70ac41b00",ref:t=>this.textEditor=t,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,inlineImages:this.inlineImages,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}),this.renderPicker()]}renderPicker(){if(this.isPickerOpen)return s("limel-portal",{containerId:this.portalId,visible:this.isPickerOpen,openDirection:"top",inheritParentWidth:!0,anchor:this.textEditor},s("limebb-text-editor-picker",{ref:t=>this.textEditorPickerElement=t,items:mt(this.items,this.highlightedItemIndex),onItemSelected:this.handleItemSelection,emptyMessage:this.pickerMessage,isSearching:this.isSearching}))}get inlineImages(){return Object.assign({tagName:"limebb-inline-image",getUrl:t=>R(this.appName,t)},this.allowPasteImages&&{upload:t=>this.uploadImage(t)})}async uploadImage(t){0===this.pendingUploads&&this.imageUploadingChange.emit(!0),this.pendingUploads++;try{return await this.uploadFile(t)}finally{this.pendingUploads--,0===this.pendingUploads&&this.imageUploadingChange.emit(!1)}}async uploadFile(t){if(t.size>52428800)throw Error("Image exceeds the maximum file size");const e=this.platform.get(n.Http),i=new bt(t,e);await i.initialize();const s=await i.upload();if(!s.id)throw Error("File upload response is missing an id");return s.id+""}loadDraft(){if(!this.userDataService||!this.textEditorInnerId)return;if(this.value)return;const t=this.userDataService.get(this.textEditorInnerId);t&&this.change.emit(t)}saveDraft(){var t,e,i,s;if(!this.textEditorInnerId)return;const r=null===(t=this.value)||void 0===t?void 0:t.trim(),n=null===(e=this.userDataService)||void 0===e?void 0:e.get(this.textEditorInnerId);r&&r!==n?null===(i=this.userDataService)||void 0===i||i.set(this.textEditorInnerId,r):!r&&n&&(null===(s=this.userDataService)||void 0===s||s.set(this.textEditorInnerId,void 0))}get userDataService(){return this.platform.get(n.UserDataRepository)}static get delegatesFocus(){return!0}get host(){return this}static get watchers(){return{isPickerOpen:[{watchOpen:0}],editorPickerQuery:[{watchQuery:0}]}}static get style(){return":host(limebb-text-editor){display:block;width:100%;min-width:5rem;min-height:5rem;height:100%;max-height:var(--text-editor-max-height, calc(100vh - (env(safe-area-inset-top) + env(safe-area-inset-bottom)) - 4rem))}"}},[17,"limebb-text-editor",{platform:[16],context:[16],allowMentioning:[4,"allow-mentioning"],contentType:[1,"content-type"],language:[513],disabled:[516],readonly:[516],helperText:[513,"helper-text"],placeholder:[513],label:[513],invalid:[516],required:[516],selectedContext:[16],ui:[513],allowResize:[4,"allow-resize"],value:[1],draftIdentifier:[1,"draft-identifier"],triggerMap:[16],customElements:[16],allowPasteImages:[4,"allow-paste-images"],items:[32],highlightedItemIndex:[32],editorPickerQuery:[32],searchableLimetypes:[32],appName:[32],isPickerOpen:[32],isSearching:[32]},void 0,{isPickerOpen:[{watchOpen:0}],editorPickerQuery:[{watchQuery:0}]}]);vt([h({map:[function(t){return Object.values(t).filter((t=>N(t,"user")||M(t,"user")))}]})],gt.prototype,"searchableLimetypes",void 0),vt([c()],gt.prototype,"appName",void 0);const yt=gt,jt=function(){"undefined"!=typeof customElements&&["limebb-text-editor","limebb-empty-state","limebb-text-editor-picker"].forEach((t=>{switch(t){case"limebb-text-editor":customElements.get(r(t))||customElements.define(r(t),gt);break;case"limebb-empty-state":customElements.get(r(t))||U();break;case"limebb-text-editor-picker":customElements.get(r(t))||D()}}))};export{yt as LimebbTextEditor,jt as defineCustomElement}