@limetech/lime-crm-building-blocks 1.111.0 → 1.112.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 (207) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/lime-crm-building-blocks.cjs.js +1 -1
  3. package/dist/cjs/limebb-alert-dialog.cjs.entry.js +51 -0
  4. package/dist/cjs/limebb-browser.cjs.entry.js +2 -2
  5. package/dist/cjs/limebb-chat-item_2.cjs.entry.js +3 -3
  6. package/dist/cjs/limebb-chat-list.cjs.entry.js +2 -2
  7. package/dist/cjs/limebb-currency-picker.cjs.entry.js +1 -1
  8. package/dist/cjs/limebb-dashboard-widget.cjs.entry.js +1 -1
  9. package/dist/cjs/limebb-date-picker.cjs.entry.js +1 -1
  10. package/dist/cjs/limebb-date-range.cjs.entry.js +1 -1
  11. package/dist/cjs/limebb-document-item.cjs.entry.js +2 -2
  12. package/dist/cjs/limebb-document-picker.cjs.entry.js +1 -1
  13. package/dist/cjs/limebb-feed-item-thumbnail-file-info.cjs.entry.js +1 -1
  14. package/dist/cjs/limebb-feed-timeline-item.cjs.entry.js +1 -1
  15. package/dist/cjs/limebb-feed.cjs.entry.js +1 -1
  16. package/dist/cjs/limebb-icon-picker.cjs.entry.js +1 -1
  17. package/dist/cjs/limebb-info-tile-format.cjs.entry.js +1 -1
  18. package/dist/cjs/limebb-info-tile.cjs.entry.js +1 -1
  19. package/dist/cjs/limebb-kanban-group.cjs.entry.js +1 -1
  20. package/dist/cjs/limebb-kanban-item.cjs.entry.js +1 -1
  21. package/dist/cjs/limebb-lime-query-builder.cjs.entry.js +1 -1
  22. package/dist/cjs/limebb-lime-query-filter-builder_3.cjs.entry.js +2 -2
  23. package/dist/cjs/limebb-lime-query-filter-comparison_2.cjs.entry.js +1 -1
  24. package/dist/cjs/limebb-lime-query-filter-group_3.cjs.entry.js +3 -3
  25. package/dist/cjs/limebb-lime-query-order-by-item.cjs.entry.js +2 -2
  26. package/dist/cjs/limebb-lime-query-response-format-builder.cjs.entry.js +1 -1
  27. package/dist/cjs/limebb-lime-query-response-format-editor_2.cjs.entry.js +1 -1
  28. package/dist/cjs/limebb-live-docs-info.cjs.entry.js +2 -2
  29. package/dist/cjs/limebb-locale-picker.cjs.entry.js +1 -1
  30. package/dist/cjs/limebb-mention-group-counter.cjs.entry.js +2 -2
  31. package/dist/cjs/limebb-navigation-button_2.cjs.entry.js +3 -3
  32. package/dist/cjs/limebb-notification-item.cjs.entry.js +1 -1
  33. package/dist/cjs/limebb-percentage-visualizer.cjs.entry.js +2 -2
  34. package/dist/cjs/limebb-text-editor-picker.cjs.entry.js +1 -1
  35. package/dist/cjs/limebb-text-editor.cjs.entry.js +1 -1
  36. package/dist/cjs/limebb-trend-indicator.cjs.entry.js +1 -1
  37. package/dist/cjs/loader.cjs.js +1 -1
  38. package/dist/collection/collection-manifest.json +1 -0
  39. package/dist/collection/components/alert-dialog/alert-dialog.css +99 -0
  40. package/dist/collection/components/alert-dialog/alert-dialog.js +218 -0
  41. package/dist/collection/components/alert-dialog/alert-dialog.types.js +1 -0
  42. package/dist/collection/components/browser/browser.js +2 -2
  43. package/dist/collection/components/chat-list/chat-item/chat-item.css +26 -5
  44. package/dist/collection/components/chat-list/chat-item/chat-item.js +2 -2
  45. package/dist/collection/components/chat-list/chat-list.css +26 -5
  46. package/dist/collection/components/chat-list/chat-list.js +2 -2
  47. package/dist/collection/components/chat-list/typing-indicator/typing-indicator.js +1 -1
  48. package/dist/collection/components/currency-picker/currency-picker.js +1 -1
  49. package/dist/collection/components/dashboard-widget/dashboard-widget.js +1 -1
  50. package/dist/collection/components/data-cells/data-cells.css +26 -5
  51. package/dist/collection/components/date-picker/date-picker.js +1 -1
  52. package/dist/collection/components/date-range/date-range.js +1 -1
  53. package/dist/collection/components/document-picker/document-item/document-item.js +2 -2
  54. package/dist/collection/components/document-picker/document-picker.css +26 -5
  55. package/dist/collection/components/document-picker/document-picker.js +1 -1
  56. package/dist/collection/components/feed/feed-item/feed-timeline-item.css +26 -5
  57. package/dist/collection/components/feed/feed-item/feed-timeline-item.js +1 -1
  58. package/dist/collection/components/feed/feed-item-thumbnail-file-info/feed-item-thumbnail-file-info.css +26 -5
  59. package/dist/collection/components/feed/feed-item-thumbnail-file-info/feed-item-thumbnail-file-info.js +1 -1
  60. package/dist/collection/components/feed/feed.js +1 -1
  61. package/dist/collection/components/icon-picker/icon-picker.js +1 -1
  62. package/dist/collection/components/info-tile/format/config/info-tile-format.js +1 -1
  63. package/dist/collection/components/info-tile/info-tile.js +1 -1
  64. package/dist/collection/components/kanban/kanban-group/kanban-group.css +26 -5
  65. package/dist/collection/components/kanban/kanban-group/kanban-group.js +1 -1
  66. package/dist/collection/components/kanban/kanban-item/kanban-item.css +26 -5
  67. package/dist/collection/components/kanban/kanban-item/kanban-item.js +1 -1
  68. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +1 -1
  69. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-expression.css +26 -5
  70. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.css +26 -5
  71. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js +2 -2
  72. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.css +26 -5
  73. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +1 -1
  74. package/dist/collection/components/lime-query-builder/lime-query-builder.js +1 -1
  75. package/dist/collection/components/lime-query-builder/lime-query-response-format-builder.js +1 -1
  76. package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +1 -1
  77. package/dist/collection/components/lime-query-builder/order-by/order-by-editor.js +1 -1
  78. package/dist/collection/components/lime-query-builder/order-by/order-by-item.js +2 -2
  79. package/dist/collection/components/lime-query-builder/response-format/response-format-item.css +26 -5
  80. package/dist/collection/components/lime-query-builder/response-format/response-format-item.js +1 -1
  81. package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
  82. package/dist/collection/components/locale-picker/locale-picker.js +1 -1
  83. package/dist/collection/components/navigation-button/navigation-button.css +26 -5
  84. package/dist/collection/components/notification-list/notification-item/notification-item.css +26 -5
  85. package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
  86. package/dist/collection/components/notification-list/notification-list.css +26 -5
  87. package/dist/collection/components/percentage-visualizer/percentage-visualizer.css +26 -5
  88. package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
  89. package/dist/collection/components/summary-popover/summary-popover.js +3 -3
  90. package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
  91. package/dist/collection/components/text-editor/text-editor-picker.css +2 -0
  92. package/dist/collection/components/text-editor/text-editor.js +2 -1
  93. package/dist/collection/components/trend-indicator/trend-indicator.css +26 -5
  94. package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
  95. package/dist/components/chat-item.js +2 -2
  96. package/dist/components/currency-picker.js +1 -1
  97. package/dist/components/date-picker.js +1 -1
  98. package/dist/components/document-item.js +2 -2
  99. package/dist/components/feed-item-thumbnail-file-info.js +1 -1
  100. package/dist/components/feed-timeline-item.js +1 -1
  101. package/dist/components/kanban-group.js +1 -1
  102. package/dist/components/kanban-item.js +1 -1
  103. package/dist/components/lime-query-filter-comparison.js +1 -1
  104. package/dist/components/lime-query-filter-expression.js +3 -3
  105. package/dist/components/limebb-alert-dialog.d.ts +11 -0
  106. package/dist/components/limebb-alert-dialog.js +71 -0
  107. package/dist/components/limebb-browser.js +2 -2
  108. package/dist/components/limebb-chat-list.js +2 -2
  109. package/dist/components/limebb-dashboard-widget.js +1 -1
  110. package/dist/components/limebb-date-range.js +1 -1
  111. package/dist/components/limebb-document-picker.js +1 -1
  112. package/dist/components/limebb-feed.js +1 -1
  113. package/dist/components/limebb-icon-picker.js +1 -1
  114. package/dist/components/limebb-info-tile-format.js +1 -1
  115. package/dist/components/limebb-info-tile.js +1 -1
  116. package/dist/components/limebb-lime-query-builder.js +1 -1
  117. package/dist/components/limebb-lime-query-response-format-builder.js +1 -1
  118. package/dist/components/limebb-locale-picker.js +1 -1
  119. package/dist/components/limebb-mention-group-counter.js +2 -2
  120. package/dist/components/limebb-text-editor.js +1 -1
  121. package/dist/components/limebb-trend-indicator.js +1 -1
  122. package/dist/components/limetype-field.js +1 -1
  123. package/dist/components/live-docs-info.js +2 -2
  124. package/dist/components/notification-item.js +1 -1
  125. package/dist/components/order-by-editor.js +1 -1
  126. package/dist/components/order-by-item.js +2 -2
  127. package/dist/components/percentage-visualizer.js +2 -2
  128. package/dist/components/response-format-item.js +1 -1
  129. package/dist/components/summary-popover.js +3 -3
  130. package/dist/components/text-editor-picker.js +1 -1
  131. package/dist/components/typing-indicator.js +1 -1
  132. package/dist/esm/lime-crm-building-blocks.js +1 -1
  133. package/dist/esm/limebb-alert-dialog.entry.js +47 -0
  134. package/dist/esm/limebb-browser.entry.js +2 -2
  135. package/dist/esm/limebb-chat-item_2.entry.js +3 -3
  136. package/dist/esm/limebb-chat-list.entry.js +2 -2
  137. package/dist/esm/limebb-currency-picker.entry.js +1 -1
  138. package/dist/esm/limebb-dashboard-widget.entry.js +1 -1
  139. package/dist/esm/limebb-date-picker.entry.js +1 -1
  140. package/dist/esm/limebb-date-range.entry.js +1 -1
  141. package/dist/esm/limebb-document-item.entry.js +2 -2
  142. package/dist/esm/limebb-document-picker.entry.js +1 -1
  143. package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
  144. package/dist/esm/limebb-feed-timeline-item.entry.js +1 -1
  145. package/dist/esm/limebb-feed.entry.js +1 -1
  146. package/dist/esm/limebb-icon-picker.entry.js +1 -1
  147. package/dist/esm/limebb-info-tile-format.entry.js +1 -1
  148. package/dist/esm/limebb-info-tile.entry.js +1 -1
  149. package/dist/esm/limebb-kanban-group.entry.js +1 -1
  150. package/dist/esm/limebb-kanban-item.entry.js +1 -1
  151. package/dist/esm/limebb-lime-query-builder.entry.js +1 -1
  152. package/dist/esm/limebb-lime-query-filter-builder_3.entry.js +2 -2
  153. package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +1 -1
  154. package/dist/esm/limebb-lime-query-filter-group_3.entry.js +3 -3
  155. package/dist/esm/limebb-lime-query-order-by-item.entry.js +2 -2
  156. package/dist/esm/limebb-lime-query-response-format-builder.entry.js +1 -1
  157. package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +1 -1
  158. package/dist/esm/limebb-live-docs-info.entry.js +2 -2
  159. package/dist/esm/limebb-locale-picker.entry.js +1 -1
  160. package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
  161. package/dist/esm/limebb-navigation-button_2.entry.js +3 -3
  162. package/dist/esm/limebb-notification-item.entry.js +1 -1
  163. package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
  164. package/dist/esm/limebb-text-editor-picker.entry.js +1 -1
  165. package/dist/esm/limebb-text-editor.entry.js +1 -1
  166. package/dist/esm/limebb-trend-indicator.entry.js +1 -1
  167. package/dist/esm/loader.js +1 -1
  168. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  169. package/dist/lime-crm-building-blocks/{p-5f5cd2b2.entry.js → p-000cccb8.entry.js} +1 -1
  170. package/dist/lime-crm-building-blocks/{p-228573ab.entry.js → p-1b13e8f1.entry.js} +1 -1
  171. package/dist/lime-crm-building-blocks/{p-6e969c97.entry.js → p-239d68c7.entry.js} +1 -1
  172. package/dist/lime-crm-building-blocks/{p-a9ef0153.entry.js → p-2ba38d7f.entry.js} +1 -1
  173. package/dist/lime-crm-building-blocks/{p-d880ba5e.entry.js → p-2fd586a0.entry.js} +1 -1
  174. package/dist/lime-crm-building-blocks/{p-c1c89173.entry.js → p-377da950.entry.js} +1 -1
  175. package/dist/lime-crm-building-blocks/{p-e8069516.entry.js → p-40f29017.entry.js} +1 -1
  176. package/dist/lime-crm-building-blocks/{p-59b4af72.entry.js → p-48585665.entry.js} +1 -1
  177. package/dist/lime-crm-building-blocks/{p-0c290fd8.entry.js → p-4a60bde2.entry.js} +1 -1
  178. package/dist/lime-crm-building-blocks/{p-f9daa703.entry.js → p-55c494f9.entry.js} +1 -1
  179. package/dist/lime-crm-building-blocks/{p-85c04627.entry.js → p-57591c89.entry.js} +1 -1
  180. package/dist/lime-crm-building-blocks/{p-92062bd6.entry.js → p-5cea7fb4.entry.js} +1 -1
  181. package/dist/lime-crm-building-blocks/{p-af1e3cac.entry.js → p-62c5cb1b.entry.js} +1 -1
  182. package/dist/lime-crm-building-blocks/{p-acf77715.entry.js → p-630fa055.entry.js} +1 -1
  183. package/dist/lime-crm-building-blocks/{p-6bd3f952.entry.js → p-64cbf4f4.entry.js} +1 -1
  184. package/dist/lime-crm-building-blocks/p-6a87a407.entry.js +1 -0
  185. package/dist/lime-crm-building-blocks/{p-87e5d049.entry.js → p-6ad6a88d.entry.js} +1 -1
  186. package/dist/lime-crm-building-blocks/{p-c38f0931.entry.js → p-703fa2fe.entry.js} +1 -1
  187. package/dist/lime-crm-building-blocks/{p-17baea44.entry.js → p-71697503.entry.js} +1 -1
  188. package/dist/lime-crm-building-blocks/{p-ef08b09f.entry.js → p-74953ead.entry.js} +1 -1
  189. package/dist/lime-crm-building-blocks/{p-eaf58ba4.entry.js → p-7c54f3c7.entry.js} +1 -1
  190. package/dist/lime-crm-building-blocks/{p-1b2ed672.entry.js → p-7f72be40.entry.js} +1 -1
  191. package/dist/lime-crm-building-blocks/{p-c678ba6d.entry.js → p-8633cd5f.entry.js} +1 -1
  192. package/dist/lime-crm-building-blocks/{p-9b4617bd.entry.js → p-8e885ec8.entry.js} +1 -1
  193. package/dist/lime-crm-building-blocks/{p-199f0a47.entry.js → p-920a321e.entry.js} +1 -1
  194. package/dist/lime-crm-building-blocks/{p-ac833ff7.entry.js → p-a1bb9206.entry.js} +1 -1
  195. package/dist/lime-crm-building-blocks/{p-bd6b5a42.entry.js → p-adc423db.entry.js} +1 -1
  196. package/dist/lime-crm-building-blocks/{p-937e9144.entry.js → p-b90be9d3.entry.js} +1 -1
  197. package/dist/lime-crm-building-blocks/{p-01375d63.entry.js → p-cc1ef69e.entry.js} +1 -1
  198. package/dist/lime-crm-building-blocks/{p-a9160103.entry.js → p-ce1b05e4.entry.js} +1 -1
  199. package/dist/lime-crm-building-blocks/{p-517fd960.entry.js → p-d7fcac35.entry.js} +1 -1
  200. package/dist/lime-crm-building-blocks/{p-442dffef.entry.js → p-de84f26b.entry.js} +1 -1
  201. package/dist/lime-crm-building-blocks/{p-3d4c4df2.entry.js → p-e980329d.entry.js} +1 -1
  202. package/dist/lime-crm-building-blocks/{p-f965d2a6.entry.js → p-e990af19.entry.js} +1 -1
  203. package/dist/types/components/alert-dialog/alert-dialog.d.ts +78 -0
  204. package/dist/types/components/alert-dialog/alert-dialog.types.d.ts +13 -0
  205. package/dist/types/components/text-editor/text-editor.d.ts +1 -0
  206. package/dist/types/components.d.ts +222 -0
  207. package/package.json +2 -2
@@ -1 +1 @@
1
- import{r as e,c as o,h as r,H as t}from"./p-52cf8641.js";import{z as a,c as i}from"./p-199799ff.js";const n=class{constructor(r){e(this,r),this.loadMore=o(this,"loadMore",7),this.items=[],this.handleLoadMore=e=>{e.stopPropagation(),this.loadMore.emit(this.identifier)}}render(){return r(t,{key:"590a4fac2578a996e2f168877aa1d2be0232f6a8"},this.renderHelp(),this.renderGroupHeading(),this.renderGroupSummary(),this.renderItems())}renderGroupSummary(){if(this.summary&&this.totalCount)return r("limel-markdown",{class:"group-summary",value:this.summary})}renderGroupHeading(){return r("limel-header",{heading:this.heading},this.renderCounterBadge())}renderHelp(){if(this.help)return r("limel-help",{value:this.help})}renderSpinner(){if(this.loading)return r("limel-spinner",{size:"small"})}renderCounterBadge(){if(this.totalCount)return[r("limel-badge",{slot:"actions",id:"badge-tooltip",label:this.totalCount}),this.renderTooltip()]}renderTooltip(){const e=this.translator.get("webclient.kanban.item-in-group",{count:this.totalCount}),o=this.limetype?this.labelWithLimetype():e;return r("limel-tooltip",{elementId:"badge-tooltip",label:o||"",openDirection:"top"})}labelWithLimetype(){return this.translator.get("webclient.kanban.limetype-item-in-group",{limetype:this.totalCount>1?this.limetype.localname.plural:this.limetype.localname.singular,count:this.totalCount})}renderItems(){if(this.loading||0!==this.items.length)return r("div",{class:"items"},this.renderKanbanItems(),this.renderSpinner(),this.renderLoadMore())}renderKanbanItems(){return this.items.map((e=>{var o,t;const a=null===(o=e.bodyComponent)||void 0===o?void 0:o.name;return r("limebb-kanban-item",{tabindex:0,platform:this.platform,context:this.context,item:e,key:e.id},a&&r(a,Object.assign({slot:"body",platform:this.platform,context:this.context},null===(t=e.bodyComponent)||void 0===t?void 0:t.props)))}))}renderLoadMore(){if(!(this.loading||this.items.length>=this.totalCount))return r("limel-icon-button",{class:"load-more-button",icon:"more",onClick:this.handleLoadMore,elevated:!0,label:this.translator.get("webclient.load-more")})}get translator(){return this.platform.get(i.Translate)}};(function(e,o,r,t){var a,i=arguments.length,n=i<3?o:null===t?t=Object.getOwnPropertyDescriptor(o,r):t;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,o,r,t);else for(var l=e.length-1;l>=0;l--)(a=e[l])&&(n=(i<3?a(n):i>3?a(o,r,n):a(o,r))||n);i>3&&n&&Object.defineProperty(o,r,n)})([a()],n.prototype,"limetype",void 0),n.style='@charset "UTF-8";:host(limebb-feed-timeline-item.is-tall) .markdown-container{margin-bottom:0.5rem}:host(limebb-feed-timeline-item.is-tall) .body-text{--body-text-min-height-set-by-code:10rem;min-height:calc(var(--body-text-min-height-set-by-code) + 0.25rem)}:host(limebb-feed-timeline-item.is-tall) .body-text:after{transition:opacity 0.6s ease;content:"";opacity:0.26;pointer-events:none;position:absolute;bottom:-0.125rem;right:-0.125rem;left:-0.125rem;height:2.5rem;background:radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0)) 0 100%, linear-gradient(to bottom, rgb(var(--limebb-feed-item-background-color), 0) 0%, rgb(var(--limebb-feed-item-background-color), 90%) 100%);background-repeat:no-repeat;background-size:100% 0.5rem, 100% 100%}:host(limebb-feed-timeline-item.is-tall.shows-less) .markdown-container{grid-template-rows:0fr}:host(limebb-feed-timeline-item.is-tall.shows-less) .body-text:after{opacity:1}:host(limebb-feed-timeline-item.is-tall.shows-more) .markdown-container{grid-template-rows:1fr}:host(limebb-feed-timeline-item.is-tall.shows-more) #show-more-button limel-icon{rotate:180deg}.markdown-container{position:relative;display:grid}.markdown-container:not(.opened){transition:grid-template-rows min(var(--body-text-height) * 1.2ms, 500ms) cubic-bezier(1, 0.09, 0, 0.89)}.body-text{display:block;overflow:hidden}#show-more-button{all:unset;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:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-normal);z-index:1;position:absolute;right:0;bottom:-0.6rem;left:0;margin:0 auto;display:flex;align-items:center;justify-content:center;border-radius:3rem;width:2rem;height:1rem}#show-more-button:hover,#show-more-button:focus,#show-more-button:focus-visible{will-change:color, background-color, box-shadow, transform}#show-more-button:hover,#show-more-button:focus-visible{transform:translate3d(0, -0.04rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}#show-more-button:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}#show-more-button:hover,#show-more-button:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}#show-more-button:focus{outline:none}#show-more-button:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}#show-more-button limel-icon{transition:rotate 0.2s ease 0.5s;color:var(--mdc-theme-primary);width:0.75rem}*{box-sizing:border-box}:host(limebb-kanban-group){position:relative;background-color:rgb(var(--limebb-kanban-group-primary-background));--header-top-right-left-border-radius:0.5rem;--limebb-kanban-group-secondary-background:var(--contrast-300);--limebb-kanban-group-primary-background:var(--contrast-600);scroll-snap-align:start;box-sizing:border-box;display:flex;flex-direction:column;border-radius:0.5rem;min-width:var(--limebb-kanban-group-width, 22rem);max-width:100%}:host(limebb-kanban-group[total-count="0"]){min-width:var(--limebb-kanban-group-width, 8rem)}:host(limebb-kanban-group.secondary){border:1px dashed rgb(var(--contrast-700));background-color:rgb(var(--limebb-kanban-group-secondary-background))}:host(limebb-kanban-group.secondary) limebb-kanban-item{border:1px dashed rgb(var(--contrast-700))}:host(limebb-kanban-group.secondary) limel-header{background-color:rgb(var(--limebb-kanban-group-secondary-background))}limel-header{padding-right:0.5rem;background-color:rgb(var(--limebb-kanban-group-primary-background));width:100%}limel-badge{--badge-background-color:rgb(var(--contrast-200))}limel-help{position:absolute;z-index:1;left:-0.25rem;top:-0.25rem}.group-summary{flex-shrink:0;padding:0 0.75rem 0.5rem 0.75rem;opacity:0.6;max-height:7rem;max-width:100%;overflow-y:auto}.load-more-button,limel-spinner{align-self:center}.load-more-button{--icon-background-color:var(--lime-elevated-surface-background-color)}.items{--limel-overflow-mask-vertical:linear-gradient(\n to bottom,\n transparent 0%,\n black calc(0% + var(--limel-top-edge-fade-height, 1rem)),\n black calc(100% - var(--limel-bottom-edge-fade-height, 1rem)),\n transparent 100%\n );-webkit-mask-image:var(--limel-overflow-mask-vertical);mask-image:var(--limel-overflow-mask-vertical);padding-top:var(--limel-top-edge-fade-height, 1rem);padding-bottom:var(--limel-bottom-edge-fade-height, 1rem);--limel-top-edge-fade-height:0.5rem;--limel-bottom-edge-fade-height:2rem;flex-grow:1;display:flex;flex-direction:column;gap:0.75rem;padding:var(--limel-top-edge-fade-height) 0.5rem var(--limel-bottom-edge-fade-height) 0.5rem;overflow-y:auto;-webkit-overflow-scrolling:touch}limebb-kanban-item{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:var(--lime-elevated-surface-background-color)}limebb-kanban-item:hover,limebb-kanban-item:focus,limebb-kanban-item:focus-visible{will-change:color, background-color, box-shadow, transform}limebb-kanban-item:hover,limebb-kanban-item:focus-visible{transform:translate3d(0, 0.01rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color)}limebb-kanban-item:hover{box-shadow:var(--button-shadow-hovered)}limebb-kanban-item:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}limebb-kanban-item:hover,limebb-kanban-item:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}limebb-kanban-item:focus{outline:none}limebb-kanban-item:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}limebb-kanban-item.is-selected{box-shadow:var(--shadow-focused-state)}limebb-kanban-item.is-selected:hover{box-shadow:var(--shadow-focused-state), var(--button-shadow-hovered)}';export{n as limebb_kanban_group}
1
+ import{r as e,c as o,h as r,H as t}from"./p-52cf8641.js";import{z as i,c as a}from"./p-199799ff.js";const n=class{constructor(r){e(this,r),this.loadMore=o(this,"loadMore",7),this.items=[],this.handleLoadMore=e=>{e.stopPropagation(),this.loadMore.emit(this.identifier)}}render(){return r(t,{key:"facbffb1c7247c2fe6873b0764bfeed96cd0eebd"},this.renderHelp(),this.renderGroupHeading(),this.renderGroupSummary(),this.renderItems())}renderGroupSummary(){if(this.summary&&this.totalCount)return r("limel-markdown",{class:"group-summary",value:this.summary})}renderGroupHeading(){return r("limel-header",{heading:this.heading},this.renderCounterBadge())}renderHelp(){if(this.help)return r("limel-help",{value:this.help})}renderSpinner(){if(this.loading)return r("limel-spinner",{size:"small"})}renderCounterBadge(){if(this.totalCount)return[r("limel-badge",{slot:"actions",id:"badge-tooltip",label:this.totalCount}),this.renderTooltip()]}renderTooltip(){const e=this.translator.get("webclient.kanban.item-in-group",{count:this.totalCount}),o=this.limetype?this.labelWithLimetype():e;return r("limel-tooltip",{elementId:"badge-tooltip",label:o||"",openDirection:"top"})}labelWithLimetype(){return this.translator.get("webclient.kanban.limetype-item-in-group",{limetype:this.totalCount>1?this.limetype.localname.plural:this.limetype.localname.singular,count:this.totalCount})}renderItems(){if(this.loading||0!==this.items.length)return r("div",{class:"items"},this.renderKanbanItems(),this.renderSpinner(),this.renderLoadMore())}renderKanbanItems(){return this.items.map((e=>{var o,t;const i=null===(o=e.bodyComponent)||void 0===o?void 0:o.name;return r("limebb-kanban-item",{tabindex:0,platform:this.platform,context:this.context,item:e,key:e.id},i&&r(i,Object.assign({slot:"body",platform:this.platform,context:this.context},null===(t=e.bodyComponent)||void 0===t?void 0:t.props)))}))}renderLoadMore(){if(!(this.loading||this.items.length>=this.totalCount))return r("limel-icon-button",{class:"load-more-button",icon:"more",onClick:this.handleLoadMore,elevated:!0,label:this.translator.get("webclient.load-more")})}get translator(){return this.platform.get(a.Translate)}};(function(e,o,r,t){var i,a=arguments.length,n=a<3?o:null===t?t=Object.getOwnPropertyDescriptor(o,r):t;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,o,r,t);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(n=(a<3?i(n):a>3?i(o,r,n):i(o,r))||n);a>3&&n&&Object.defineProperty(o,r,n)})([i()],n.prototype,"limetype",void 0),n.style='@charset "UTF-8";:host(limebb-feed-timeline-item.is-tall) .markdown-container{margin-bottom:0.5rem}:host(limebb-feed-timeline-item.is-tall) .body-text{--body-text-min-height-set-by-code:10rem;min-height:calc(var(--body-text-min-height-set-by-code) + 0.25rem)}:host(limebb-feed-timeline-item.is-tall) .body-text:after{transition:opacity 0.6s ease;content:"";opacity:0.26;pointer-events:none;position:absolute;bottom:-0.125rem;right:-0.125rem;left:-0.125rem;height:2.5rem;background:radial-gradient(farthest-side at 50% 100%, rgba(0, 0, 0, 0.16), rgba(0, 0, 0, 0)) 0 100%, linear-gradient(to bottom, rgb(var(--limebb-feed-item-background-color), 0) 0%, rgb(var(--limebb-feed-item-background-color), 90%) 100%);background-repeat:no-repeat;background-size:100% 0.5rem, 100% 100%}:host(limebb-feed-timeline-item.is-tall.shows-less) .markdown-container{grid-template-rows:0fr}:host(limebb-feed-timeline-item.is-tall.shows-less) .body-text:after{opacity:1}:host(limebb-feed-timeline-item.is-tall.shows-more) .markdown-container{grid-template-rows:1fr}:host(limebb-feed-timeline-item.is-tall.shows-more) #show-more-button limel-icon{rotate:180deg}.markdown-container{position:relative;display:grid}.markdown-container:not(.opened){transition:grid-template-rows min(var(--body-text-height) * 1.2ms, 500ms) cubic-bezier(1, 0.09, 0, 0.89)}.body-text{display:block;overflow:hidden}#show-more-button{all:unset;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:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-normal);z-index:1;position:absolute;right:0;bottom:-0.6rem;left:0;margin:0 auto;display:flex;align-items:center;justify-content:center;border-radius:3rem;width:2rem;height:1rem}#show-more-button:hover,#show-more-button:focus,#show-more-button:focus-visible{will-change:color, background-color, box-shadow, transform}#show-more-button:hover,#show-more-button:focus-visible{transform:translate3d(0, -0.04rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}#show-more-button:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}#show-more-button:hover,#show-more-button:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}#show-more-button:focus{outline:none}#show-more-button:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}#show-more-button limel-icon{transition:rotate 0.2s ease 0.5s;color:var(--mdc-theme-primary);width:0.75rem}*{box-sizing:border-box}:host(limebb-kanban-group){position:relative;background-color:rgb(var(--limebb-kanban-group-primary-background));--header-top-right-left-border-radius:0.5rem;--limebb-kanban-group-secondary-background:var(--contrast-300);--limebb-kanban-group-primary-background:var(--contrast-600);scroll-snap-align:start;box-sizing:border-box;display:flex;flex-direction:column;border-radius:0.5rem;min-width:var(--limebb-kanban-group-width, 22rem);max-width:100%}:host(limebb-kanban-group[total-count="0"]){min-width:var(--limebb-kanban-group-width, 8rem)}:host(limebb-kanban-group.secondary){border:1px dashed rgb(var(--contrast-700));background-color:rgb(var(--limebb-kanban-group-secondary-background))}:host(limebb-kanban-group.secondary) limebb-kanban-item{border:1px dashed rgb(var(--contrast-700))}:host(limebb-kanban-group.secondary) limel-header{background-color:rgb(var(--limebb-kanban-group-secondary-background))}limel-header{padding-right:0.5rem;background-color:rgb(var(--limebb-kanban-group-primary-background));width:100%}limel-badge{--badge-background-color:rgb(var(--contrast-200))}limel-help{position:absolute;z-index:1;left:-0.25rem;top:-0.25rem}.group-summary{flex-shrink:0;padding:0 0.75rem 0.5rem 0.75rem;opacity:0.6;max-height:7rem;max-width:100%;overflow-y:auto}.load-more-button,limel-spinner{align-self:center}.load-more-button{--icon-background-color:var(--lime-elevated-surface-background-color)}.items{--limel-overflow-mask-vertical:linear-gradient(\n to bottom,\n transparent 0%,\n black calc(0% + var(--limel-top-edge-fade-height, 1rem)),\n black calc(100% - var(--limel-bottom-edge-fade-height, 1rem)),\n transparent 100%\n );-webkit-mask-image:var(--limel-overflow-mask-vertical);mask-image:var(--limel-overflow-mask-vertical);padding-top:var(--limel-top-edge-fade-height, 1rem);padding-bottom:var(--limel-bottom-edge-fade-height, 1rem);--limel-top-edge-fade-height:0.5rem;--limel-bottom-edge-fade-height:2rem;flex-grow:1;display:flex;flex-direction:column;gap:0.75rem;padding:var(--limel-top-edge-fade-height) 0.5rem var(--limel-bottom-edge-fade-height) 0.5rem;overflow-y:auto;-webkit-overflow-scrolling:touch}limebb-kanban-item{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:var(--lime-elevated-surface-background-color)}limebb-kanban-item:hover,limebb-kanban-item:focus,limebb-kanban-item:focus-visible{will-change:color, background-color, box-shadow, transform}limebb-kanban-item:hover,limebb-kanban-item:focus-visible{transform:translate3d(0, 0.01rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color)}limebb-kanban-item:hover{box-shadow:var(--button-shadow-hovered)}limebb-kanban-item:active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}limebb-kanban-item:hover,limebb-kanban-item:active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}limebb-kanban-item:focus{outline:none}limebb-kanban-item:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}limebb-kanban-item.is-selected{box-shadow:var(--shadow-focused-state)}limebb-kanban-item.is-selected:hover{box-shadow:var(--shadow-focused-state), var(--button-shadow-hovered)}';export{n as limebb_kanban_group}
@@ -1 +1 @@
1
- import{r as i,c as e,h as t,H as r}from"./p-52cf8641.js";import{Z as s}from"./p-199799ff.js";import{i as o}from"./p-d47b6c3c.js";import"./p-b02c99d5.js";const l=class{constructor(t){i(this,t),this.change=e(this,"change",7),this.mode="visual",this.codeValue="",this.limetype="",this.handleLimetypeChange=i=>{i.stopPropagation(),this.limetype=i.detail,this.filter=void 0,this.internalResponseFormat={object:{}},this.emitChange()},this.handleFilterChange=i=>{var e;i.stopPropagation(),this.filter=null!==(e=i.detail)&&void 0!==e?e:void 0,this.emitChange()},this.handleResponseFormatChange=i=>{i.stopPropagation(),this.internalResponseFormat=i.detail,this.emitChange()},this.handleLimitChange=i=>{i.stopPropagation();const e=i.detail;this.limit=e?Number.parseInt(e,10):void 0,this.emitChange()},this.handleOrderByChange=i=>{i.stopPropagation(),this.orderBy=i.detail,this.emitChange()},this.handleDescriptionChange=i=>{i.stopPropagation(),this.description=i.detail||void 0,this.emitChange()},this.handleDescriptionBlur=()=>{if(this.description){const i=this.description.trim();i!==this.description&&(this.description=i||void 0,this.emitChange())}},this.handleChange=i=>{i.stopPropagation();const e=i.detail.id;if("visual"===e)try{const i=JSON.parse(this.codeValue);if(!this.checkVisualModeSupport().visualModeSupported)return;this.limetype=i.limetype||"",this.filter=i.filter,this.internalResponseFormat=i.responseFormat,this.limit=i.limit,this.orderBy=i.orderBy,this.description=i["#description"],this.mode="visual",this.change.emit(i)}catch(i){}else"code"===e&&(this.updateCodeValue(),this.mode="code")},this.handleCodeChange=i=>{i.stopPropagation(),this.codeValue=i.detail;try{const i=JSON.parse(this.codeValue);this.change.emit(i)}catch(i){}}}getButtons(){return[{id:"visual",title:"Visual"},{id:"code",title:"Code"}]}get visualModeEnabled(){var i,e,t;return null!==(t=null===(e=null===(i=this.platform)||void 0===i?void 0:i.isFeatureEnabled)||void 0===e?void 0:e.call(i,"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 t(r,{key:"72ad0a52788c07a8369ee28535d9a05be92f5144"},this.renderHeader(),this.renderContent())}renderContent(){const i=this.checkVisualModeSupport();return this.visualModeEnabled&&"code"!==this.mode?this.renderVisualMode():this.renderCodeMode(i)}emitChange(){"code"!==this.mode&&this.limetype&&this.change.emit(this.buildLimeQuery())}updateCodeValue(){this.codeValue=this.limetype?JSON.stringify(this.buildLimeQuery(),null,2):JSON.stringify(this.value||{},null,2)}buildLimeQuery(){const i={limetype:this.limetype,responseFormat:this.internalResponseFormat||{object:{_id:null}},filter:this.filter};return this.description&&(i["#description"]=this.description),void 0!==this.limit&&this.limit>0&&(i.limit=this.limit),this.orderBy&&this.orderBy.length>0&&(i.orderBy=this.orderBy),i}checkVisualModeSupport(){if(!this.limetypes)return{valid:!0,visualModeSupported:!0,validationErrors:[],visualModeLimitations:[]};let i;if("code"===this.mode&&this.codeValue)try{i=JSON.parse(this.codeValue)}catch(i){return{valid:!1,visualModeSupported:!1,validationErrors:["Invalid JSON"],visualModeLimitations:[]}}else{if(!this.limetype)return{valid:!0,visualModeSupported:!0,validationErrors:[],visualModeLimitations:[]};i={limetype:this.limetype,responseFormat:this.internalResponseFormat||{object:{_id:null}},filter:this.filter},void 0!==this.limit&&this.limit>0&&(i.limit=this.limit)}return o(i,this.limetypes,this.activeLimetype,this.visualModeEnabled)}renderModeSwitch(i){const e=!i.visualModeSupported,r=this.getButtons().map((i=>Object.assign(Object.assign({},i),{selected:i.id===this.mode})));return t("limel-button-group",{slot:"actions",onChange:this.handleChange,value:r,disabled:e})}renderCodeEditor(i){return[t("limel-code-editor",{value:this.codeValue,language:"json",lineNumbers:!0,fold:!0,lint:!0,onChange:this.handleCodeChange}),!i.valid&&i.validationErrors.length>0&&t("div",{class:"validation-errors"},t("strong",null,"Invalid Lime Query:"),t("ul",null,i.validationErrors.map((i=>t("li",null,i))))),this.visualModeEnabled&&i.valid&&!i.visualModeSupported&&i.visualModeLimitations.length>0&&t("div",{class:"visual-mode-limitations"},t("strong",null,"Cannot switch to visual mode:"),t("ul",null,i.visualModeLimitations.map((i=>t("li",null,i)))))]}renderLimetypeSection(){return t("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 t("section",{class:"description"},t("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 t("section",{class:"response-format"},t("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 t("section",{class:"filter"},t("limel-header",{class:"is-narrow",heading:"Filter Conditions",icon:"-lime-filter"}),t("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 i;if(this.limetype)return t("section",{class:"query-options"},t("limel-header",{class:"is-narrow",heading:"Query Options",icon:"ask_question"}),t("div",{class:"query-options-controls"},t("limel-input-field",{label:"Limit",type:"number",value:(null===(i=this.limit)||void 0===i?void 0:i.toString())||"",placeholder:"No limit",helperText:"Maximum number of results",onChange:this.handleLimitChange}),t("limebb-lime-query-order-by-editor",{platform:this.platform,context:this.context,limetype:this.limetype,value:this.orderBy,onChange:this.handleOrderByChange})))}renderVisualMode(){return t("div",{class:"visual-mode"},this.renderLimetypeSection(),this.renderDescriptionSection(),this.renderResponseFormatSection(),this.renderFilterSection(),this.renderQueryOptionsSection())}renderHeader(){const i=this.checkVisualModeSupport();return t("limel-header",{heading:this.label},this.renderModeControls(i))}renderModeControls(i){if(this.visualModeEnabled)return this.renderModeSwitch(i)}renderCodeMode(i){return t("div",{class:"code-mode"},this.renderCodeEditor(i))}};(function(i,e,t,r){var s,o=arguments.length,l=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,t):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(i,e,t,r);else for(var d=i.length-1;d>=0;d--)(s=i[d])&&(l=(o<3?s(l):o>3?s(e,t,l):s(e,t))||l);o>3&&l&&Object.defineProperty(e,t,l)})([s()],l.prototype,"limetypes",void 0),l.style="*,*: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}";export{l as limebb_lime_query_builder}
1
+ import{r as i,c as e,h as t,H as r}from"./p-52cf8641.js";import{Z as s}from"./p-199799ff.js";import{i as o}from"./p-d47b6c3c.js";import"./p-b02c99d5.js";const l=class{constructor(t){i(this,t),this.change=e(this,"change",7),this.mode="visual",this.codeValue="",this.limetype="",this.handleLimetypeChange=i=>{i.stopPropagation(),this.limetype=i.detail,this.filter=void 0,this.internalResponseFormat={object:{}},this.emitChange()},this.handleFilterChange=i=>{var e;i.stopPropagation(),this.filter=null!==(e=i.detail)&&void 0!==e?e:void 0,this.emitChange()},this.handleResponseFormatChange=i=>{i.stopPropagation(),this.internalResponseFormat=i.detail,this.emitChange()},this.handleLimitChange=i=>{i.stopPropagation();const e=i.detail;this.limit=e?Number.parseInt(e,10):void 0,this.emitChange()},this.handleOrderByChange=i=>{i.stopPropagation(),this.orderBy=i.detail,this.emitChange()},this.handleDescriptionChange=i=>{i.stopPropagation(),this.description=i.detail||void 0,this.emitChange()},this.handleDescriptionBlur=()=>{if(this.description){const i=this.description.trim();i!==this.description&&(this.description=i||void 0,this.emitChange())}},this.handleChange=i=>{i.stopPropagation();const e=i.detail.id;if("visual"===e)try{const i=JSON.parse(this.codeValue);if(!this.checkVisualModeSupport().visualModeSupported)return;this.limetype=i.limetype||"",this.filter=i.filter,this.internalResponseFormat=i.responseFormat,this.limit=i.limit,this.orderBy=i.orderBy,this.description=i["#description"],this.mode="visual",this.change.emit(i)}catch(i){}else"code"===e&&(this.updateCodeValue(),this.mode="code")},this.handleCodeChange=i=>{i.stopPropagation(),this.codeValue=i.detail;try{const i=JSON.parse(this.codeValue);this.change.emit(i)}catch(i){}}}getButtons(){return[{id:"visual",title:"Visual"},{id:"code",title:"Code"}]}get visualModeEnabled(){var i,e,t;return null!==(t=null===(e=null===(i=this.platform)||void 0===i?void 0:i.isFeatureEnabled)||void 0===e?void 0:e.call(i,"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 t(r,{key:"64bfb646bbe2d15ef08af6e8adcccdae366bfec2"},this.renderHeader(),this.renderContent())}renderContent(){const i=this.checkVisualModeSupport();return this.visualModeEnabled&&"code"!==this.mode?this.renderVisualMode():this.renderCodeMode(i)}emitChange(){"code"!==this.mode&&this.limetype&&this.change.emit(this.buildLimeQuery())}updateCodeValue(){this.codeValue=this.limetype?JSON.stringify(this.buildLimeQuery(),null,2):JSON.stringify(this.value||{},null,2)}buildLimeQuery(){const i={limetype:this.limetype,responseFormat:this.internalResponseFormat||{object:{_id:null}},filter:this.filter};return this.description&&(i["#description"]=this.description),void 0!==this.limit&&this.limit>0&&(i.limit=this.limit),this.orderBy&&this.orderBy.length>0&&(i.orderBy=this.orderBy),i}checkVisualModeSupport(){if(!this.limetypes)return{valid:!0,visualModeSupported:!0,validationErrors:[],visualModeLimitations:[]};let i;if("code"===this.mode&&this.codeValue)try{i=JSON.parse(this.codeValue)}catch(i){return{valid:!1,visualModeSupported:!1,validationErrors:["Invalid JSON"],visualModeLimitations:[]}}else{if(!this.limetype)return{valid:!0,visualModeSupported:!0,validationErrors:[],visualModeLimitations:[]};i={limetype:this.limetype,responseFormat:this.internalResponseFormat||{object:{_id:null}},filter:this.filter},void 0!==this.limit&&this.limit>0&&(i.limit=this.limit)}return o(i,this.limetypes,this.activeLimetype,this.visualModeEnabled)}renderModeSwitch(i){const e=!i.visualModeSupported,r=this.getButtons().map((i=>Object.assign(Object.assign({},i),{selected:i.id===this.mode})));return t("limel-button-group",{slot:"actions",onChange:this.handleChange,value:r,disabled:e})}renderCodeEditor(i){return[t("limel-code-editor",{value:this.codeValue,language:"json",lineNumbers:!0,fold:!0,lint:!0,onChange:this.handleCodeChange}),!i.valid&&i.validationErrors.length>0&&t("div",{class:"validation-errors"},t("strong",null,"Invalid Lime Query:"),t("ul",null,i.validationErrors.map((i=>t("li",null,i))))),this.visualModeEnabled&&i.valid&&!i.visualModeSupported&&i.visualModeLimitations.length>0&&t("div",{class:"visual-mode-limitations"},t("strong",null,"Cannot switch to visual mode:"),t("ul",null,i.visualModeLimitations.map((i=>t("li",null,i)))))]}renderLimetypeSection(){return t("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 t("section",{class:"description"},t("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 t("section",{class:"response-format"},t("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 t("section",{class:"filter"},t("limel-header",{class:"is-narrow",heading:"Filter Conditions",icon:"-lime-filter"}),t("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 i;if(this.limetype)return t("section",{class:"query-options"},t("limel-header",{class:"is-narrow",heading:"Query Options",icon:"ask_question"}),t("div",{class:"query-options-controls"},t("limel-input-field",{label:"Limit",type:"number",value:(null===(i=this.limit)||void 0===i?void 0:i.toString())||"",placeholder:"No limit",helperText:"Maximum number of results",onChange:this.handleLimitChange}),t("limebb-lime-query-order-by-editor",{platform:this.platform,context:this.context,limetype:this.limetype,value:this.orderBy,onChange:this.handleOrderByChange})))}renderVisualMode(){return t("div",{class:"visual-mode"},this.renderLimetypeSection(),this.renderDescriptionSection(),this.renderResponseFormatSection(),this.renderFilterSection(),this.renderQueryOptionsSection())}renderHeader(){const i=this.checkVisualModeSupport();return t("limel-header",{heading:this.label},this.renderModeControls(i))}renderModeControls(i){if(this.visualModeEnabled)return this.renderModeSwitch(i)}renderCodeMode(i){return t("div",{class:"code-mode"},this.renderCodeEditor(i))}};(function(i,e,t,r){var s,o=arguments.length,l=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,t):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(i,e,t,r);else for(var d=i.length-1;d>=0;d--)(s=i[d])&&(l=(o<3?s(l):o>3?s(e,t,l):s(e,t))||l);o>3&&l&&Object.defineProperty(e,t,l)})([s()],l.prototype,"limetypes",void 0),l.style="*,*: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}";export{l as limebb_lime_query_builder}
@@ -0,0 +1,78 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { AlertType } from './alert-dialog.types';
3
+ /**
4
+ * An alert dialog interrupts the user flow. It can be used when an explicit
5
+ * decision or acknowledgement from the user is needed in order to safely continue
6
+ * the flow.
7
+ *
8
+ * When to use
9
+ * [`limebb-alert-dialog`](https://lundalogik.github.io/lime-crm-building-blocks/versions/1.111.0/#/component/limebb-alert-dialog/)
10
+ * instead of the
11
+ * [more generic `limel-dialog` component](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-dialog/)
12
+ * ?
13
+ *
14
+ * Use an alert dialog when:
15
+ * - Your message fits into one of the predefined variants of `type`
16
+ * - The user must decide how to proceed, or take a pause to read the message
17
+ * - The current task needs to be blocked
18
+ * - An action carries a meaningful risk or irreversible consequence
19
+ *
20
+ * This will help to create a consistent alert delivery mechanism across the entire system,
21
+ * which the user will recognize easily.
22
+ *
23
+ * :::warning
24
+ * Do **not** use an alert dialog for:
25
+ * - Passive information
26
+ * - Unimportant or expected success messages
27
+ * - Status updates
28
+ * - Validation errors
29
+ *
30
+ * Frequent appearance of alert dialogs indicates incorrect usage and degrades user trust.
31
+ * Consider using
32
+ * [`limel-snackbar`](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-snackbar/)
33
+ * for such instances.
34
+ * :::
35
+ *
36
+ * @exampleComponent limebb-example-alert-dialog-basic
37
+ * @exampleComponent limebb-example-alert-dialog-type-note
38
+ * @exampleComponent limebb-example-alert-dialog-type-success
39
+ * @exampleComponent limebb-example-alert-dialog-type-caution
40
+ * @exampleComponent limebb-example-alert-dialog-type-warning
41
+ * @exampleComponent limebb-example-alert-dialog-icon
42
+ * @exampleComponent limebb-example-alert-dialog-button-slots
43
+ *
44
+ * @beta
45
+ */
46
+ export declare class LimebbAlertDialog {
47
+ /**
48
+ * Defines how the component is visualized with a default icon and fixed color scheme.
49
+ */
50
+ type: AlertType;
51
+ /**
52
+ * Controls whether the dialog is open
53
+ * (controlled by the parent)
54
+ */
55
+ open: boolean;
56
+ /**
57
+ * Icon to display. If not provided, a default icon based on the type will be used.
58
+ */
59
+ icon?: string;
60
+ /**
61
+ * Heading text
62
+ */
63
+ heading: string;
64
+ /**
65
+ * Subheading text
66
+ */
67
+ subheading?: string;
68
+ /**
69
+ * Fired when the dialog should be dismissed
70
+ * (ESC, backdrop click, close link)
71
+ */
72
+ dismiss: EventEmitter<void>;
73
+ render(): any;
74
+ private handleClose;
75
+ private renderSubheading;
76
+ private getIconName;
77
+ }
78
+ //# sourceMappingURL=alert-dialog.d.ts.map
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Each of the supported alert-dialog types has a distinct color and icon.
3
+ * The icon can be changed using the provided property.
4
+ *
5
+ * - `note`: Important information unrelated to an action status.
6
+ * - `success`: The action has been successful.
7
+ * - `caution`: You want to read this.
8
+ * - `warning`: I hope you read this.
9
+ *
10
+ * @public
11
+ */
12
+ export type AlertType = 'note' | 'success' | 'caution' | 'warning';
13
+ //# sourceMappingURL=alert-dialog.types.d.ts.map
@@ -24,6 +24,7 @@ import { EnhancedEditorMetadata } from './uploader/building-blocks-upload-handle
24
24
  * @exampleComponent limebb-example-text-editor-composite
25
25
  * @exampleComponent limebb-example-text-editor-allow-resize
26
26
  * @exampleComponent limebb-example-text-editor-focus
27
+ * @exampleComponent limebb-example-text-editor-many-picker-items
27
28
  * @beta
28
29
  */
29
30
  export declare class LimeBBTextEditor implements FormComponent<string> {
@@ -5,6 +5,7 @@
5
5
  * It contains typing information for all components that exist in this project.
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
+ import { AlertType } from "./components/alert-dialog/alert-dialog.types";
8
9
  import { AggregateOperator, AndOrExpression, Expression, LimeFileUrlType, LimeType, LimeWebComponentContext, LimeWebComponentPlatform, NotExpression, Operator } from "@limetech/lime-web-components";
9
10
  import { BrowserItem } from "./components/browser/browser-item.types";
10
11
  import { ActionBarItem, CustomElementDefinition, DateType, EditorUiType, FormInfo, Icon, Image, Languages, ListItem, ListSeparator, OpenDirection } from "@limetech/lime-elements";
@@ -25,6 +26,7 @@ import { NavigationButtonType } from "./components/navigation-button/navigation-
25
26
  import { NotificationItem } from "./components/notification-list/notification-item/notification-item.types";
26
27
  import { TriggerMap } from "./components/text-editor/text-editor.types";
27
28
  import { EnhancedEditorMetadata } from "./components/text-editor/uploader/building-blocks-upload-handler";
29
+ export { AlertType } from "./components/alert-dialog/alert-dialog.types";
28
30
  export { AggregateOperator, AndOrExpression, Expression, LimeFileUrlType, LimeType, LimeWebComponentContext, LimeWebComponentPlatform, NotExpression, Operator } from "@limetech/lime-web-components";
29
31
  export { BrowserItem } from "./components/browser/browser-item.types";
30
32
  export { ActionBarItem, CustomElementDefinition, DateType, EditorUiType, FormInfo, Icon, Image, Languages, ListItem, ListSeparator, OpenDirection } from "@limetech/lime-elements";
@@ -46,6 +48,64 @@ export { NotificationItem } from "./components/notification-list/notification-it
46
48
  export { TriggerMap } from "./components/text-editor/text-editor.types";
47
49
  export { EnhancedEditorMetadata } from "./components/text-editor/uploader/building-blocks-upload-handler";
48
50
  export namespace Components {
51
+ /**
52
+ * An alert dialog interrupts the user flow. It can be used when an explicit
53
+ * decision or acknowledgement from the user is needed in order to safely continue
54
+ * the flow.
55
+ * When to use
56
+ * [`limebb-alert-dialog`](https://lundalogik.github.io/lime-crm-building-blocks/versions/1.111.0/#/component/limebb-alert-dialog/)
57
+ * instead of the
58
+ * [more generic `limel-dialog` component](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-dialog/)
59
+ * ?
60
+ * Use an alert dialog when:
61
+ * - Your message fits into one of the predefined variants of `type`
62
+ * - The user must decide how to proceed, or take a pause to read the message
63
+ * - The current task needs to be blocked
64
+ * - An action carries a meaningful risk or irreversible consequence
65
+ * This will help to create a consistent alert delivery mechanism across the entire system,
66
+ * which the user will recognize easily.
67
+ * :::warning
68
+ * Do **not** use an alert dialog for:
69
+ * - Passive information
70
+ * - Unimportant or expected success messages
71
+ * - Status updates
72
+ * - Validation errors
73
+ * Frequent appearance of alert dialogs indicates incorrect usage and degrades user trust.
74
+ * Consider using
75
+ * [`limel-snackbar`](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-snackbar/)
76
+ * for such instances.
77
+ * :::
78
+ * @exampleComponent limebb-example-alert-dialog-basic
79
+ * @exampleComponent limebb-example-alert-dialog-type-note
80
+ * @exampleComponent limebb-example-alert-dialog-type-success
81
+ * @exampleComponent limebb-example-alert-dialog-type-caution
82
+ * @exampleComponent limebb-example-alert-dialog-type-warning
83
+ * @exampleComponent limebb-example-alert-dialog-icon
84
+ * @exampleComponent limebb-example-alert-dialog-button-slots
85
+ * @beta
86
+ */
87
+ interface LimebbAlertDialog {
88
+ /**
89
+ * Heading text
90
+ */
91
+ "heading": string;
92
+ /**
93
+ * Icon to display. If not provided, a default icon based on the type will be used.
94
+ */
95
+ "icon"?: string;
96
+ /**
97
+ * Controls whether the dialog is open (controlled by the parent)
98
+ */
99
+ "open": boolean;
100
+ /**
101
+ * Subheading text
102
+ */
103
+ "subheading"?: string;
104
+ /**
105
+ * Defines how the component is visualized with a default icon and fixed color scheme.
106
+ */
107
+ "type": AlertType;
108
+ }
49
109
  /**
50
110
  * This component creates a UI that allows the user to easily navigate through a list of items,
51
111
  * and navigate to their respective paths.
@@ -1996,6 +2056,7 @@ export namespace Components {
1996
2056
  * @exampleComponent limebb-example-text-editor-composite
1997
2057
  * @exampleComponent limebb-example-text-editor-allow-resize
1998
2058
  * @exampleComponent limebb-example-text-editor-focus
2059
+ * @exampleComponent limebb-example-text-editor-many-picker-items
1999
2060
  * @beta
2000
2061
  */
2001
2062
  interface LimebbTextEditor {
@@ -2170,6 +2231,10 @@ export namespace Components {
2170
2231
  interface LimebbTypingIndicator {
2171
2232
  }
2172
2233
  }
2234
+ export interface LimebbAlertDialogCustomEvent<T> extends CustomEvent<T> {
2235
+ detail: T;
2236
+ target: HTMLLimebbAlertDialogElement;
2237
+ }
2173
2238
  export interface LimebbBrowserCustomEvent<T> extends CustomEvent<T> {
2174
2239
  detail: T;
2175
2240
  target: HTMLLimebbBrowserElement;
@@ -2331,6 +2396,59 @@ export interface LimebbTextEditorPickerCustomEvent<T> extends CustomEvent<T> {
2331
2396
  target: HTMLLimebbTextEditorPickerElement;
2332
2397
  }
2333
2398
  declare global {
2399
+ interface HTMLLimebbAlertDialogElementEventMap {
2400
+ "dismiss": void;
2401
+ }
2402
+ /**
2403
+ * An alert dialog interrupts the user flow. It can be used when an explicit
2404
+ * decision or acknowledgement from the user is needed in order to safely continue
2405
+ * the flow.
2406
+ * When to use
2407
+ * [`limebb-alert-dialog`](https://lundalogik.github.io/lime-crm-building-blocks/versions/1.111.0/#/component/limebb-alert-dialog/)
2408
+ * instead of the
2409
+ * [more generic `limel-dialog` component](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-dialog/)
2410
+ * ?
2411
+ * Use an alert dialog when:
2412
+ * - Your message fits into one of the predefined variants of `type`
2413
+ * - The user must decide how to proceed, or take a pause to read the message
2414
+ * - The current task needs to be blocked
2415
+ * - An action carries a meaningful risk or irreversible consequence
2416
+ * This will help to create a consistent alert delivery mechanism across the entire system,
2417
+ * which the user will recognize easily.
2418
+ * :::warning
2419
+ * Do **not** use an alert dialog for:
2420
+ * - Passive information
2421
+ * - Unimportant or expected success messages
2422
+ * - Status updates
2423
+ * - Validation errors
2424
+ * Frequent appearance of alert dialogs indicates incorrect usage and degrades user trust.
2425
+ * Consider using
2426
+ * [`limel-snackbar`](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-snackbar/)
2427
+ * for such instances.
2428
+ * :::
2429
+ * @exampleComponent limebb-example-alert-dialog-basic
2430
+ * @exampleComponent limebb-example-alert-dialog-type-note
2431
+ * @exampleComponent limebb-example-alert-dialog-type-success
2432
+ * @exampleComponent limebb-example-alert-dialog-type-caution
2433
+ * @exampleComponent limebb-example-alert-dialog-type-warning
2434
+ * @exampleComponent limebb-example-alert-dialog-icon
2435
+ * @exampleComponent limebb-example-alert-dialog-button-slots
2436
+ * @beta
2437
+ */
2438
+ interface HTMLLimebbAlertDialogElement extends Components.LimebbAlertDialog, HTMLStencilElement {
2439
+ addEventListener<K extends keyof HTMLLimebbAlertDialogElementEventMap>(type: K, listener: (this: HTMLLimebbAlertDialogElement, ev: LimebbAlertDialogCustomEvent<HTMLLimebbAlertDialogElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2440
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2441
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2442
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2443
+ removeEventListener<K extends keyof HTMLLimebbAlertDialogElementEventMap>(type: K, listener: (this: HTMLLimebbAlertDialogElement, ev: LimebbAlertDialogCustomEvent<HTMLLimebbAlertDialogElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2444
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2445
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2446
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2447
+ }
2448
+ var HTMLLimebbAlertDialogElement: {
2449
+ prototype: HTMLLimebbAlertDialogElement;
2450
+ new (): HTMLLimebbAlertDialogElement;
2451
+ };
2334
2452
  interface HTMLLimebbBrowserElementEventMap {
2335
2453
  "change": BrowserItem;
2336
2454
  }
@@ -3698,6 +3816,7 @@ declare global {
3698
3816
  * @exampleComponent limebb-example-text-editor-composite
3699
3817
  * @exampleComponent limebb-example-text-editor-allow-resize
3700
3818
  * @exampleComponent limebb-example-text-editor-focus
3819
+ * @exampleComponent limebb-example-text-editor-many-picker-items
3701
3820
  * @beta
3702
3821
  */
3703
3822
  interface HTMLLimebbTextEditorElement extends Components.LimebbTextEditor, HTMLStencilElement {
@@ -3778,6 +3897,7 @@ declare global {
3778
3897
  new (): HTMLLimebbTypingIndicatorElement;
3779
3898
  };
3780
3899
  interface HTMLElementTagNameMap {
3900
+ "limebb-alert-dialog": HTMLLimebbAlertDialogElement;
3781
3901
  "limebb-browser": HTMLLimebbBrowserElement;
3782
3902
  "limebb-chat-item": HTMLLimebbChatItemElement;
3783
3903
  "limebb-chat-list": HTMLLimebbChatListElement;
@@ -3838,6 +3958,68 @@ declare global {
3838
3958
  }
3839
3959
  }
3840
3960
  declare namespace LocalJSX {
3961
+ /**
3962
+ * An alert dialog interrupts the user flow. It can be used when an explicit
3963
+ * decision or acknowledgement from the user is needed in order to safely continue
3964
+ * the flow.
3965
+ * When to use
3966
+ * [`limebb-alert-dialog`](https://lundalogik.github.io/lime-crm-building-blocks/versions/1.111.0/#/component/limebb-alert-dialog/)
3967
+ * instead of the
3968
+ * [more generic `limel-dialog` component](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-dialog/)
3969
+ * ?
3970
+ * Use an alert dialog when:
3971
+ * - Your message fits into one of the predefined variants of `type`
3972
+ * - The user must decide how to proceed, or take a pause to read the message
3973
+ * - The current task needs to be blocked
3974
+ * - An action carries a meaningful risk or irreversible consequence
3975
+ * This will help to create a consistent alert delivery mechanism across the entire system,
3976
+ * which the user will recognize easily.
3977
+ * :::warning
3978
+ * Do **not** use an alert dialog for:
3979
+ * - Passive information
3980
+ * - Unimportant or expected success messages
3981
+ * - Status updates
3982
+ * - Validation errors
3983
+ * Frequent appearance of alert dialogs indicates incorrect usage and degrades user trust.
3984
+ * Consider using
3985
+ * [`limel-snackbar`](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-snackbar/)
3986
+ * for such instances.
3987
+ * :::
3988
+ * @exampleComponent limebb-example-alert-dialog-basic
3989
+ * @exampleComponent limebb-example-alert-dialog-type-note
3990
+ * @exampleComponent limebb-example-alert-dialog-type-success
3991
+ * @exampleComponent limebb-example-alert-dialog-type-caution
3992
+ * @exampleComponent limebb-example-alert-dialog-type-warning
3993
+ * @exampleComponent limebb-example-alert-dialog-icon
3994
+ * @exampleComponent limebb-example-alert-dialog-button-slots
3995
+ * @beta
3996
+ */
3997
+ interface LimebbAlertDialog {
3998
+ /**
3999
+ * Heading text
4000
+ */
4001
+ "heading"?: string;
4002
+ /**
4003
+ * Icon to display. If not provided, a default icon based on the type will be used.
4004
+ */
4005
+ "icon"?: string;
4006
+ /**
4007
+ * Fired when the dialog should be dismissed (ESC, backdrop click, close link)
4008
+ */
4009
+ "onDismiss"?: (event: LimebbAlertDialogCustomEvent<void>) => void;
4010
+ /**
4011
+ * Controls whether the dialog is open (controlled by the parent)
4012
+ */
4013
+ "open"?: boolean;
4014
+ /**
4015
+ * Subheading text
4016
+ */
4017
+ "subheading"?: string;
4018
+ /**
4019
+ * Defines how the component is visualized with a default icon and fixed color scheme.
4020
+ */
4021
+ "type"?: AlertType;
4022
+ }
3841
4023
  /**
3842
4024
  * This component creates a UI that allows the user to easily navigate through a list of items,
3843
4025
  * and navigate to their respective paths.
@@ -5958,6 +6140,7 @@ declare namespace LocalJSX {
5958
6140
  * @exampleComponent limebb-example-text-editor-composite
5959
6141
  * @exampleComponent limebb-example-text-editor-allow-resize
5960
6142
  * @exampleComponent limebb-example-text-editor-focus
6143
+ * @exampleComponent limebb-example-text-editor-many-picker-items
5961
6144
  * @beta
5962
6145
  */
5963
6146
  interface LimebbTextEditor {
@@ -6145,6 +6328,7 @@ declare namespace LocalJSX {
6145
6328
  interface LimebbTypingIndicator {
6146
6329
  }
6147
6330
  interface IntrinsicElements {
6331
+ "limebb-alert-dialog": LimebbAlertDialog;
6148
6332
  "limebb-browser": LimebbBrowser;
6149
6333
  "limebb-chat-item": LimebbChatItem;
6150
6334
  "limebb-chat-list": LimebbChatList;
@@ -6208,6 +6392,43 @@ export { LocalJSX as JSX };
6208
6392
  declare module "@stencil/core" {
6209
6393
  export namespace JSX {
6210
6394
  interface IntrinsicElements {
6395
+ /**
6396
+ * An alert dialog interrupts the user flow. It can be used when an explicit
6397
+ * decision or acknowledgement from the user is needed in order to safely continue
6398
+ * the flow.
6399
+ * When to use
6400
+ * [`limebb-alert-dialog`](https://lundalogik.github.io/lime-crm-building-blocks/versions/1.111.0/#/component/limebb-alert-dialog/)
6401
+ * instead of the
6402
+ * [more generic `limel-dialog` component](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-dialog/)
6403
+ * ?
6404
+ * Use an alert dialog when:
6405
+ * - Your message fits into one of the predefined variants of `type`
6406
+ * - The user must decide how to proceed, or take a pause to read the message
6407
+ * - The current task needs to be blocked
6408
+ * - An action carries a meaningful risk or irreversible consequence
6409
+ * This will help to create a consistent alert delivery mechanism across the entire system,
6410
+ * which the user will recognize easily.
6411
+ * :::warning
6412
+ * Do **not** use an alert dialog for:
6413
+ * - Passive information
6414
+ * - Unimportant or expected success messages
6415
+ * - Status updates
6416
+ * - Validation errors
6417
+ * Frequent appearance of alert dialogs indicates incorrect usage and degrades user trust.
6418
+ * Consider using
6419
+ * [`limel-snackbar`](https://lundalogik.github.io/lime-elements/versions/latest/#/component/limel-snackbar/)
6420
+ * for such instances.
6421
+ * :::
6422
+ * @exampleComponent limebb-example-alert-dialog-basic
6423
+ * @exampleComponent limebb-example-alert-dialog-type-note
6424
+ * @exampleComponent limebb-example-alert-dialog-type-success
6425
+ * @exampleComponent limebb-example-alert-dialog-type-caution
6426
+ * @exampleComponent limebb-example-alert-dialog-type-warning
6427
+ * @exampleComponent limebb-example-alert-dialog-icon
6428
+ * @exampleComponent limebb-example-alert-dialog-button-slots
6429
+ * @beta
6430
+ */
6431
+ "limebb-alert-dialog": LocalJSX.LimebbAlertDialog & JSXBase.HTMLAttributes<HTMLLimebbAlertDialogElement>;
6211
6432
  /**
6212
6433
  * This component creates a UI that allows the user to easily navigate through a list of items,
6213
6434
  * and navigate to their respective paths.
@@ -6884,6 +7105,7 @@ declare module "@stencil/core" {
6884
7105
  * @exampleComponent limebb-example-text-editor-composite
6885
7106
  * @exampleComponent limebb-example-text-editor-allow-resize
6886
7107
  * @exampleComponent limebb-example-text-editor-focus
7108
+ * @exampleComponent limebb-example-text-editor-many-picker-items
6887
7109
  * @beta
6888
7110
  */
6889
7111
  "limebb-text-editor": LocalJSX.LimebbTextEditor & JSXBase.HTMLAttributes<HTMLLimebbTextEditorElement>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limetech/lime-crm-building-blocks",
3
- "version": "1.111.0",
3
+ "version": "1.112.0",
4
4
  "description": "A home for shared components meant for use with Lime CRM",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "devDependencies": {
37
37
  "@limetech/eslint-config": "^3.0.1",
38
- "@limetech/lime-elements": "^39.7.1",
38
+ "@limetech/lime-elements": "^39.9.4",
39
39
  "@limetech/lime-web-components": "^6.13.1",
40
40
  "@limetech/lime-web-components-testing": "^1.0.0",
41
41
  "@lundalogik/lime-icons8": "^2.38.1",