@limetech/lime-crm-building-blocks 1.111.1 → 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 (184) hide show
  1. package/CHANGELOG.md +7 -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.cjs.entry.js +1 -1
  35. package/dist/cjs/limebb-trend-indicator.cjs.entry.js +1 -1
  36. package/dist/cjs/loader.cjs.js +1 -1
  37. package/dist/collection/collection-manifest.json +1 -0
  38. package/dist/collection/components/alert-dialog/alert-dialog.css +99 -0
  39. package/dist/collection/components/alert-dialog/alert-dialog.js +218 -0
  40. package/dist/collection/components/alert-dialog/alert-dialog.types.js +1 -0
  41. package/dist/collection/components/browser/browser.js +2 -2
  42. package/dist/collection/components/chat-list/chat-item/chat-item.js +2 -2
  43. package/dist/collection/components/chat-list/chat-list.js +2 -2
  44. package/dist/collection/components/chat-list/typing-indicator/typing-indicator.js +1 -1
  45. package/dist/collection/components/currency-picker/currency-picker.js +1 -1
  46. package/dist/collection/components/dashboard-widget/dashboard-widget.js +1 -1
  47. package/dist/collection/components/date-picker/date-picker.js +1 -1
  48. package/dist/collection/components/date-range/date-range.js +1 -1
  49. package/dist/collection/components/document-picker/document-item/document-item.js +2 -2
  50. package/dist/collection/components/document-picker/document-picker.js +1 -1
  51. package/dist/collection/components/feed/feed-item/feed-timeline-item.js +1 -1
  52. package/dist/collection/components/feed/feed-item-thumbnail-file-info/feed-item-thumbnail-file-info.js +1 -1
  53. package/dist/collection/components/feed/feed.js +1 -1
  54. package/dist/collection/components/icon-picker/icon-picker.js +1 -1
  55. package/dist/collection/components/info-tile/format/config/info-tile-format.js +1 -1
  56. package/dist/collection/components/info-tile/info-tile.js +1 -1
  57. package/dist/collection/components/kanban/kanban-group/kanban-group.js +1 -1
  58. package/dist/collection/components/kanban/kanban-item/kanban-item.js +1 -1
  59. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-comparison.js +1 -1
  60. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-group.js +2 -2
  61. package/dist/collection/components/lime-query-builder/expressions/lime-query-filter-not.js +1 -1
  62. package/dist/collection/components/lime-query-builder/lime-query-builder.js +1 -1
  63. package/dist/collection/components/lime-query-builder/lime-query-response-format-builder.js +1 -1
  64. package/dist/collection/components/lime-query-builder/limetype-field/limetype-field.js +1 -1
  65. package/dist/collection/components/lime-query-builder/order-by/order-by-editor.js +1 -1
  66. package/dist/collection/components/lime-query-builder/order-by/order-by-item.js +2 -2
  67. package/dist/collection/components/lime-query-builder/response-format/response-format-item.js +1 -1
  68. package/dist/collection/components/limeobject/file-viewer/live-docs-info.js +2 -2
  69. package/dist/collection/components/locale-picker/locale-picker.js +1 -1
  70. package/dist/collection/components/notification-list/notification-item/notification-item.js +1 -1
  71. package/dist/collection/components/percentage-visualizer/percentage-visualizer.js +2 -2
  72. package/dist/collection/components/summary-popover/summary-popover.js +3 -3
  73. package/dist/collection/components/text-editor/mention-group-counter.js +2 -2
  74. package/dist/collection/components/text-editor/text-editor.js +1 -1
  75. package/dist/collection/components/trend-indicator/trend-indicator.js +1 -1
  76. package/dist/components/chat-item.js +2 -2
  77. package/dist/components/currency-picker.js +1 -1
  78. package/dist/components/date-picker.js +1 -1
  79. package/dist/components/document-item.js +2 -2
  80. package/dist/components/feed-item-thumbnail-file-info.js +1 -1
  81. package/dist/components/feed-timeline-item.js +1 -1
  82. package/dist/components/kanban-group.js +1 -1
  83. package/dist/components/kanban-item.js +1 -1
  84. package/dist/components/lime-query-filter-comparison.js +1 -1
  85. package/dist/components/lime-query-filter-expression.js +3 -3
  86. package/dist/components/limebb-alert-dialog.d.ts +11 -0
  87. package/dist/components/limebb-alert-dialog.js +71 -0
  88. package/dist/components/limebb-browser.js +2 -2
  89. package/dist/components/limebb-chat-list.js +2 -2
  90. package/dist/components/limebb-dashboard-widget.js +1 -1
  91. package/dist/components/limebb-date-range.js +1 -1
  92. package/dist/components/limebb-document-picker.js +1 -1
  93. package/dist/components/limebb-feed.js +1 -1
  94. package/dist/components/limebb-icon-picker.js +1 -1
  95. package/dist/components/limebb-info-tile-format.js +1 -1
  96. package/dist/components/limebb-info-tile.js +1 -1
  97. package/dist/components/limebb-lime-query-builder.js +1 -1
  98. package/dist/components/limebb-lime-query-response-format-builder.js +1 -1
  99. package/dist/components/limebb-locale-picker.js +1 -1
  100. package/dist/components/limebb-mention-group-counter.js +2 -2
  101. package/dist/components/limebb-text-editor.js +1 -1
  102. package/dist/components/limebb-trend-indicator.js +1 -1
  103. package/dist/components/limetype-field.js +1 -1
  104. package/dist/components/live-docs-info.js +2 -2
  105. package/dist/components/notification-item.js +1 -1
  106. package/dist/components/order-by-editor.js +1 -1
  107. package/dist/components/order-by-item.js +2 -2
  108. package/dist/components/percentage-visualizer.js +2 -2
  109. package/dist/components/response-format-item.js +1 -1
  110. package/dist/components/summary-popover.js +3 -3
  111. package/dist/components/typing-indicator.js +1 -1
  112. package/dist/esm/lime-crm-building-blocks.js +1 -1
  113. package/dist/esm/limebb-alert-dialog.entry.js +47 -0
  114. package/dist/esm/limebb-browser.entry.js +2 -2
  115. package/dist/esm/limebb-chat-item_2.entry.js +3 -3
  116. package/dist/esm/limebb-chat-list.entry.js +2 -2
  117. package/dist/esm/limebb-currency-picker.entry.js +1 -1
  118. package/dist/esm/limebb-dashboard-widget.entry.js +1 -1
  119. package/dist/esm/limebb-date-picker.entry.js +1 -1
  120. package/dist/esm/limebb-date-range.entry.js +1 -1
  121. package/dist/esm/limebb-document-item.entry.js +2 -2
  122. package/dist/esm/limebb-document-picker.entry.js +1 -1
  123. package/dist/esm/limebb-feed-item-thumbnail-file-info.entry.js +1 -1
  124. package/dist/esm/limebb-feed-timeline-item.entry.js +1 -1
  125. package/dist/esm/limebb-feed.entry.js +1 -1
  126. package/dist/esm/limebb-icon-picker.entry.js +1 -1
  127. package/dist/esm/limebb-info-tile-format.entry.js +1 -1
  128. package/dist/esm/limebb-info-tile.entry.js +1 -1
  129. package/dist/esm/limebb-kanban-group.entry.js +1 -1
  130. package/dist/esm/limebb-kanban-item.entry.js +1 -1
  131. package/dist/esm/limebb-lime-query-builder.entry.js +1 -1
  132. package/dist/esm/limebb-lime-query-filter-builder_3.entry.js +2 -2
  133. package/dist/esm/limebb-lime-query-filter-comparison_2.entry.js +1 -1
  134. package/dist/esm/limebb-lime-query-filter-group_3.entry.js +3 -3
  135. package/dist/esm/limebb-lime-query-order-by-item.entry.js +2 -2
  136. package/dist/esm/limebb-lime-query-response-format-builder.entry.js +1 -1
  137. package/dist/esm/limebb-lime-query-response-format-editor_2.entry.js +1 -1
  138. package/dist/esm/limebb-live-docs-info.entry.js +2 -2
  139. package/dist/esm/limebb-locale-picker.entry.js +1 -1
  140. package/dist/esm/limebb-mention-group-counter.entry.js +2 -2
  141. package/dist/esm/limebb-navigation-button_2.entry.js +3 -3
  142. package/dist/esm/limebb-notification-item.entry.js +1 -1
  143. package/dist/esm/limebb-percentage-visualizer.entry.js +2 -2
  144. package/dist/esm/limebb-text-editor.entry.js +1 -1
  145. package/dist/esm/limebb-trend-indicator.entry.js +1 -1
  146. package/dist/esm/loader.js +1 -1
  147. package/dist/lime-crm-building-blocks/lime-crm-building-blocks.esm.js +1 -1
  148. package/dist/lime-crm-building-blocks/{p-55d1bbde.entry.js → p-000cccb8.entry.js} +1 -1
  149. package/dist/lime-crm-building-blocks/{p-228573ab.entry.js → p-1b13e8f1.entry.js} +1 -1
  150. package/dist/lime-crm-building-blocks/{p-6e969c97.entry.js → p-239d68c7.entry.js} +1 -1
  151. package/dist/lime-crm-building-blocks/{p-a9ef0153.entry.js → p-2ba38d7f.entry.js} +1 -1
  152. package/dist/lime-crm-building-blocks/{p-d880ba5e.entry.js → p-2fd586a0.entry.js} +1 -1
  153. package/dist/lime-crm-building-blocks/{p-c1c89173.entry.js → p-377da950.entry.js} +1 -1
  154. package/dist/lime-crm-building-blocks/{p-e8069516.entry.js → p-40f29017.entry.js} +1 -1
  155. package/dist/lime-crm-building-blocks/{p-59b4af72.entry.js → p-48585665.entry.js} +1 -1
  156. package/dist/lime-crm-building-blocks/{p-f9daa703.entry.js → p-55c494f9.entry.js} +1 -1
  157. package/dist/lime-crm-building-blocks/{p-85c04627.entry.js → p-57591c89.entry.js} +1 -1
  158. package/dist/lime-crm-building-blocks/{p-92062bd6.entry.js → p-5cea7fb4.entry.js} +1 -1
  159. package/dist/lime-crm-building-blocks/{p-af1e3cac.entry.js → p-62c5cb1b.entry.js} +1 -1
  160. package/dist/lime-crm-building-blocks/{p-acf77715.entry.js → p-630fa055.entry.js} +1 -1
  161. package/dist/lime-crm-building-blocks/{p-6bd3f952.entry.js → p-64cbf4f4.entry.js} +1 -1
  162. package/dist/lime-crm-building-blocks/p-6a87a407.entry.js +1 -0
  163. package/dist/lime-crm-building-blocks/{p-87e5d049.entry.js → p-6ad6a88d.entry.js} +1 -1
  164. package/dist/lime-crm-building-blocks/{p-c38f0931.entry.js → p-703fa2fe.entry.js} +1 -1
  165. package/dist/lime-crm-building-blocks/{p-17baea44.entry.js → p-71697503.entry.js} +1 -1
  166. package/dist/lime-crm-building-blocks/{p-ef08b09f.entry.js → p-74953ead.entry.js} +1 -1
  167. package/dist/lime-crm-building-blocks/{p-eaf58ba4.entry.js → p-7c54f3c7.entry.js} +1 -1
  168. package/dist/lime-crm-building-blocks/{p-1b2ed672.entry.js → p-7f72be40.entry.js} +1 -1
  169. package/dist/lime-crm-building-blocks/{p-c678ba6d.entry.js → p-8633cd5f.entry.js} +1 -1
  170. package/dist/lime-crm-building-blocks/{p-9b4617bd.entry.js → p-8e885ec8.entry.js} +1 -1
  171. package/dist/lime-crm-building-blocks/{p-199f0a47.entry.js → p-920a321e.entry.js} +1 -1
  172. package/dist/lime-crm-building-blocks/{p-ac833ff7.entry.js → p-a1bb9206.entry.js} +1 -1
  173. package/dist/lime-crm-building-blocks/{p-bd6b5a42.entry.js → p-adc423db.entry.js} +1 -1
  174. package/dist/lime-crm-building-blocks/{p-937e9144.entry.js → p-b90be9d3.entry.js} +1 -1
  175. package/dist/lime-crm-building-blocks/{p-01375d63.entry.js → p-cc1ef69e.entry.js} +1 -1
  176. package/dist/lime-crm-building-blocks/{p-a9160103.entry.js → p-ce1b05e4.entry.js} +1 -1
  177. package/dist/lime-crm-building-blocks/{p-517fd960.entry.js → p-d7fcac35.entry.js} +1 -1
  178. package/dist/lime-crm-building-blocks/{p-442dffef.entry.js → p-de84f26b.entry.js} +1 -1
  179. package/dist/lime-crm-building-blocks/{p-3d4c4df2.entry.js → p-e980329d.entry.js} +1 -1
  180. package/dist/lime-crm-building-blocks/{p-f965d2a6.entry.js → p-e990af19.entry.js} +1 -1
  181. package/dist/types/components/alert-dialog/alert-dialog.d.ts +78 -0
  182. package/dist/types/components/alert-dialog/alert-dialog.types.d.ts +13 -0
  183. package/dist/types/components.d.ts +218 -0
  184. package/package.json +1 -1
@@ -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
@@ -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.
@@ -2171,6 +2231,10 @@ export namespace Components {
2171
2231
  interface LimebbTypingIndicator {
2172
2232
  }
2173
2233
  }
2234
+ export interface LimebbAlertDialogCustomEvent<T> extends CustomEvent<T> {
2235
+ detail: T;
2236
+ target: HTMLLimebbAlertDialogElement;
2237
+ }
2174
2238
  export interface LimebbBrowserCustomEvent<T> extends CustomEvent<T> {
2175
2239
  detail: T;
2176
2240
  target: HTMLLimebbBrowserElement;
@@ -2332,6 +2396,59 @@ export interface LimebbTextEditorPickerCustomEvent<T> extends CustomEvent<T> {
2332
2396
  target: HTMLLimebbTextEditorPickerElement;
2333
2397
  }
2334
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
+ };
2335
2452
  interface HTMLLimebbBrowserElementEventMap {
2336
2453
  "change": BrowserItem;
2337
2454
  }
@@ -3780,6 +3897,7 @@ declare global {
3780
3897
  new (): HTMLLimebbTypingIndicatorElement;
3781
3898
  };
3782
3899
  interface HTMLElementTagNameMap {
3900
+ "limebb-alert-dialog": HTMLLimebbAlertDialogElement;
3783
3901
  "limebb-browser": HTMLLimebbBrowserElement;
3784
3902
  "limebb-chat-item": HTMLLimebbChatItemElement;
3785
3903
  "limebb-chat-list": HTMLLimebbChatListElement;
@@ -3840,6 +3958,68 @@ declare global {
3840
3958
  }
3841
3959
  }
3842
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
+ }
3843
4023
  /**
3844
4024
  * This component creates a UI that allows the user to easily navigate through a list of items,
3845
4025
  * and navigate to their respective paths.
@@ -6148,6 +6328,7 @@ declare namespace LocalJSX {
6148
6328
  interface LimebbTypingIndicator {
6149
6329
  }
6150
6330
  interface IntrinsicElements {
6331
+ "limebb-alert-dialog": LimebbAlertDialog;
6151
6332
  "limebb-browser": LimebbBrowser;
6152
6333
  "limebb-chat-item": LimebbChatItem;
6153
6334
  "limebb-chat-list": LimebbChatList;
@@ -6211,6 +6392,43 @@ export { LocalJSX as JSX };
6211
6392
  declare module "@stencil/core" {
6212
6393
  export namespace JSX {
6213
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>;
6214
6432
  /**
6215
6433
  * This component creates a UI that allows the user to easily navigate through a list of items,
6216
6434
  * and navigate to their respective paths.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limetech/lime-crm-building-blocks",
3
- "version": "1.111.1",
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",